Skip to main content

API Reference (Auto)

This section is autogenerated from TypeScript source files using TypeDoc. Each area is grouped into collapsible sections.
Run pnpm docs:generate after API changes to refresh this section.

Core exports

@fentaris/core / AgentToolDiscoveryServiceDefined in: packages/core/src/tools/index.ts:127Agent-native tool discovery helpers.

Constructors

Constructor

new AgentToolDiscoveryService(config): AgentToolDiscoveryService
Defined in: packages/core/src/tools/index.ts:130

Parameters

config
McpProxyOptions

Returns

AgentToolDiscoveryService

Methods

authList()

authList(): AgentJsonEnvelope<object[]>
Defined in: packages/core/src/tools/index.ts:184

Returns

AgentJsonEnvelope<object[]>

authLogin()

authLogin(mcp, selector): AgentJsonEnvelope<{ instructions: string; loginMode: "delegated"; mcp: string; selector: string; status: AuthStatus; }>
Defined in: packages/core/src/tools/index.ts:216

Parameters

mcp
string
selector
string

Returns

AgentJsonEnvelope<{ instructions: string; loginMode: "delegated"; mcp: string; selector: string; status: AuthStatus; }>

authStatus()

authStatus(mcp, selector): AuthStatus
Defined in: packages/core/src/tools/index.ts:193

Parameters

mcp
string
selector
string

Returns

AuthStatus

authStatusEnvelope()

authStatusEnvelope(mcp, selector): AgentJsonEnvelope<{ allowed: string]; mcp: string; selector: string; status: [AuthStatus; }>
Defined in: packages/core/src/tools/index.ts:206

Parameters

mcp
string
selector
string

Returns

AgentJsonEnvelope<{ allowed: string]; mcp: string; selector: string; status: [AuthStatus; }>

get()

get(toolName, options?): Promise<AgentJsonEnvelope<DetailedToolMetadata>>
Defined in: packages/core/src/tools/index.ts:154

Parameters

toolName
string
options?
ToolDiscoveryOptions = {}

Returns

Promise<AgentJsonEnvelope<DetailedToolMetadata>>

list()

list(options?): Promise<AgentJsonEnvelope<CompactToolMetadata] | [DetailedToolMetadata[]>>
Defined in: packages/core/src/tools/index.ts:135

Parameters

options?
ToolDiscoveryOptions = {}

Returns

Promise<AgentJsonEnvelope<CompactToolMetadata] | [DetailedToolMetadata[]>>

schema()

schema(toolName, options?): Promise<AgentJsonEnvelope<SchemaInspection>>
Defined in: packages/core/src/tools/index.ts:166

Parameters

toolName
string
options?
ToolDiscoveryOptions & object = {}

Returns

Promise<AgentJsonEnvelope<SchemaInspection>>
search(query, options?): Promise<AgentJsonEnvelope<CompactToolMetadata] | [DetailedToolMetadata[]>>
Defined in: packages/core/src/tools/index.ts:142

Parameters

query
string
options?
ToolDiscoveryOptions = {}

Returns

Promise<AgentJsonEnvelope<CompactToolMetadata] | [DetailedToolMetadata[]>>
@fentaris/core / ConsoleLoggerDriverDefined in: packages/core/src/logging/logger.ts:77Console-based logger driver.

Implements

  • LoggerDriver

Constructors

Constructor

new ConsoleLoggerDriver(): ConsoleLoggerDriver

Returns

ConsoleLoggerDriver

Methods

write()

write(entry): void
Defined in: packages/core/src/logging/logger.ts:82Write the log entry to the console.

Parameters

entry
LogEntry

Returns

void

Implementation of

LoggerDriver.write
@fentaris/core / DefaultEdgeControlPlaneServiceDefined in: packages/core/src/edge/management.ts:79Reference service composing replaceable registry and connection contracts.

Implements

  • EdgeControlPlaneService

Constructors

Constructor

new DefaultEdgeControlPlaneService(devices, connections, terminator): DefaultEdgeControlPlaneService
Defined in: packages/core/src/edge/management.ts:80

Parameters

devices
EdgeDeviceRegistry
connections
EdgeConnectionStore
terminator
EdgeConnectionTerminator

Returns

DefaultEdgeControlPlaneService

Methods

disconnect()

disconnect(context, deviceName): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:164

Parameters

context
EdgeManagementContext
deviceName
string

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

Implementation of

EdgeControlPlaneService.disconnect

get()

get(context, deviceName): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:160

Parameters

context
EdgeManagementContext
deviceName
string

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

Implementation of

EdgeControlPlaneService.get

join()

join(request): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:86

Parameters

request
EdgeJoinRequest

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

Implementation of

EdgeControlPlaneService.join

list()

list(context, options?): Promise<EdgeManagementPage<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:123

Parameters

context
EdgeManagementContext
options?
EdgeInventoryListOptions = {}

Returns

Promise<EdgeManagementPage<EdgeManagedDeviceView>>

Implementation of

EdgeControlPlaneService.list

revoke()

revoke(context, deviceName): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:178

Parameters

context
EdgeManagementContext
deviceName
string

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

Implementation of

EdgeControlPlaneService.revoke

update()

update(context, deviceName, update): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:113

Parameters

context
EdgeManagementContext
deviceName
string
update
EdgeInventoryUpdate

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

Implementation of

EdgeControlPlaneService.update
@fentaris/core / DefaultErrorMapperDefined in: packages/core/src/errors/errors.ts:18Default error mapper for upstream and governance errors.

Implements

  • ErrorMapper

Constructors

Constructor

new DefaultErrorMapper(): DefaultErrorMapper

Returns

DefaultErrorMapper

Methods

mapError()

mapError(error): object
Defined in: packages/core/src/errors/errors.ts:19

Parameters

error
unknown

Returns

object
code
code: number
message
message: string

Implementation of

ErrorMapper.mapError
@fentaris/core / DeviceSelectorBuilderDefined in: packages/core/src/edge/target.ts:61Composable device selector builder. Own enumerable fields are serializable; the DeviceSelectorBuilder.or method lives on the prototype and is omitted by JSON.stringify.

Implements

  • DeviceSelector

Properties

alias?

readonly optional alias?: string
Defined in: packages/core/src/edge/target.ts:63Alias for a named selector.

Implementation of

DeviceSelector.alias

pool?

readonly optional pool?: string
Defined in: packages/core/src/edge/target.ts:64Pool name for a pool selector.

Implementation of

DeviceSelector.pool

selectors?

readonly optional selectors?: readonly DeviceSelector[]
Defined in: packages/core/src/edge/target.ts:66Ordered selectors for a fallback selector; first eligible wins.

Implementation of

DeviceSelector.selectors

strategy?

readonly optional strategy?: TargetSelectionStrategy
Defined in: packages/core/src/edge/target.ts:65Selection strategy for a pool selector.

Implementation of

DeviceSelector.strategy

type

readonly type: DeviceSelectorType
Defined in: packages/core/src/edge/target.ts:62

Implementation of

DeviceSelector.type

Methods

or()

or(other): DeviceSelectorBuilder
Defined in: packages/core/src/edge/target.ts:109Compose a fallback: resolve this first, then other if not eligible.

Parameters

other
DeviceSelector

Returns

DeviceSelectorBuilder

toJSON()

toJSON(): DeviceSelector
Defined in: packages/core/src/edge/target.ts:114Return a plain serializable selector object without prototype methods.

Returns

DeviceSelector

named()

static named(alias): DeviceSelectorBuilder
Defined in: packages/core/src/edge/target.ts:93Resolve a control-plane named alias to a device.

Parameters

alias
string

Returns

DeviceSelectorBuilder

pool()

static pool(name, strategy?): DeviceSelectorBuilder
Defined in: packages/core/src/edge/target.ts:101Resolve one eligible device from a shared pool using strategy.

Parameters

name
string
strategy?
TargetSelectionStrategy

Returns

DeviceSelectorBuilder

session()

static session(): DeviceSelectorBuilder
Defined in: packages/core/src/edge/target.ts:83Select the device requested during downstream session establishment.

Returns

DeviceSelectorBuilder

userDefault()

static userDefault(): DeviceSelectorBuilder
Defined in: packages/core/src/edge/target.ts:88Select the subject’s configured default device.

Returns

DeviceSelectorBuilder
@fentaris/core / EdgeCapabilityCacheDefined in: packages/core/src/edge/capabilityCache.ts:57Validated capability cache keyed by logical deployment, never public device identity.

Constructors

Constructor

new EdgeCapabilityCache(store?, now?): EdgeCapabilityCache
Defined in: packages/core/src/edge/capabilityCache.ts:62

Parameters

store?
EdgeCapabilityCacheStore = ...
now?
() => number

Returns

EdgeCapabilityCache

Properties

store

readonly store: EdgeCapabilityCacheStore
Defined in: packages/core/src/edge/capabilityCache.ts:63

Methods

addListener()

addListener(listener): () => void
Defined in: packages/core/src/edge/capabilityCache.ts:67

Parameters

listener
EdgeCapabilityChangeListener

Returns

() => void

discoveryTransport()

discoveryTransport(tenantId, deploymentId): FentarisTransport
Defined in: packages/core/src/edge/capabilityCache.ts:120Read-only transport facade consumed by proxy list operations.

Parameters

tenantId
string
deploymentId
string

Returns

FentarisTransport

setDesiredRecipe()

setDesiredRecipe(tenantId, deploymentId, recipeDigest): Promise<void>
Defined in: packages/core/src/edge/capabilityCache.ts:72

Parameters

tenantId
string
deploymentId
string
recipeDigest
string

Returns

Promise<void>

setOnline()

setOnline(tenantId, deploymentId, online): Promise<void>
Defined in: packages/core/src/edge/capabilityCache.ts:94

Parameters

tenantId
string
deploymentId
string
online
boolean

Returns

Promise<void>

state()

state(tenantId, deploymentId): Promise<EdgeDiscoveryState>
Defined in: packages/core/src/edge/capabilityCache.ts:99

Parameters

tenantId
string
deploymentId
string

Returns

Promise<EdgeDiscoveryState>

update()

update(manifest): Promise<void>
Defined in: packages/core/src/edge/capabilityCache.ts:82

Parameters

manifest
EdgeCapabilityManifest

Returns

Promise<void>
@fentaris/core / EdgeChildBindingManagerDefined in: packages/core/src/edge/sessionSelection.ts:110Allocates and cleans isolated child bindings without touching parent pins.

Constructors

Constructor

new EdgeChildBindingManager(options): EdgeChildBindingManager
Defined in: packages/core/src/edge/sessionSelection.ts:115

Parameters

options
EdgeChildBindingManagerOptions

Returns

EdgeChildBindingManager

Methods

allocate()

allocate(input): Promise<{ binding: EdgeChildBinding; signal: AbortSignal; }>
Defined in: packages/core/src/edge/sessionSelection.ts:120

Parameters

input
EdgeChildBindingAllocation

Returns

Promise<{ binding: EdgeChildBinding; signal: AbortSignal; }>

cancel()

cancel(childBindingId): Promise<EdgeChildBinding | undefined>
Defined in: packages/core/src/edge/sessionSelection.ts:155

Parameters

childBindingId
string

Returns

Promise<EdgeChildBinding | undefined>

endParent()

endParent(parentSessionId, parentRequestId?): Promise<readonly EdgeChildBinding[]>
Defined in: packages/core/src/edge/sessionSelection.ts:159

Parameters

parentSessionId
string
parentRequestId?
string

Returns

Promise<readonly EdgeChildBinding[]>

finish()

finish(childBindingId, reason): Promise<EdgeChildBinding | undefined>
Defined in: packages/core/src/edge/sessionSelection.ts:144

Parameters

childBindingId
string
reason
EdgeChildBindingTerminalReason

Returns

Promise<EdgeChildBinding | undefined>

get()

get(childBindingId): Promise<EdgeChildBinding | undefined>
Defined in: packages/core/src/edge/sessionSelection.ts:140Resolve one child correlation without exposing or changing parent pins.

Parameters

childBindingId
string

Returns

Promise<EdgeChildBinding | undefined>

purgeExpired()

purgeExpired(): Promise<readonly EdgeChildBinding[]>
Defined in: packages/core/src/edge/sessionSelection.ts:169

Returns

Promise<readonly EdgeChildBinding[]>

shutdown()

shutdown(parentSessionIds): Promise<readonly EdgeChildBinding[]>
Defined in: packages/core/src/edge/sessionSelection.ts:179

Parameters

parentSessionIds
readonly string[]

Returns

Promise<readonly EdgeChildBinding[]>
@fentaris/core / EdgeFanoutCoordinatorDefined in: packages/core/src/edge/fanout.ts:69Coordinates child calls without retries or mutation of transparent parent pins.

Constructors

Constructor

new EdgeFanoutCoordinator(options): EdgeFanoutCoordinator
Defined in: packages/core/src/edge/fanout.ts:73

Parameters

options
EdgeFanoutCoordinatorOptions

Returns

EdgeFanoutCoordinator

Properties

limits

readonly limits: EdgeOrchestrationLimits
Defined in: packages/core/src/edge/fanout.ts:70

Methods

callMany()

callMany(context, raw): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/edge/fanout.ts:79

Parameters

context
ProxyContext
raw
Readonly<Record<string, unknown>>

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
@fentaris/core / EdgeInstallationTelemetryDefined in: packages/core/src/edge/installationObservability.ts:26Structured managed-installation telemetry with mandatory protocol/local-data redaction.

Constructors

Constructor

new EdgeInstallationTelemetry(sink, now?): EdgeInstallationTelemetry
Defined in: packages/core/src/edge/installationObservability.ts:27

Parameters

sink
EdgeInstallationTelemetrySink
now?
() => number

Returns

EdgeInstallationTelemetry

Methods

emit()

emit(event): Promise<void>
Defined in: packages/core/src/edge/installationObservability.ts:32

Parameters

event
Omit<EdgeInstallationRuntimeEvent, "occurredAt"> & object

Returns

Promise<void>
@fentaris/core / EdgeInventoryServiceDefined in: packages/core/src/edge/inventoryService.ts:169Composes durable identity/metadata with authorization, authenticated dynamic state, readiness, and capability manifests before producing public views.

Constructors

Constructor

new EdgeInventoryService(options): EdgeInventoryService
Defined in: packages/core/src/edge/inventoryService.ts:173

Parameters

options
EdgeInventoryServiceOptions

Returns

EdgeInventoryService

Methods

get()

get(context, deviceName): Promise<EdgePublicDeviceView>
Defined in: packages/core/src/edge/inventoryService.ts:193

Parameters

context
EdgeInventoryContext
deviceName
string

Returns

Promise<EdgePublicDeviceView>

list()

list(context, query?): Promise<EdgePublicInventoryPage>
Defined in: packages/core/src/edge/inventoryService.ts:178

Parameters

context
EdgeInventoryContext
query?
EdgeInventoryQuery = {}

Returns

Promise<EdgePublicInventoryPage>

revalidateForDispatch()

revalidateForDispatch(context, deviceRef, deploymentId?): Promise<EdgeDispatchDeviceResolution>
Defined in: packages/core/src/edge/inventoryService.ts:277

Parameters

context
EdgeInventoryContext
deviceRef
EdgePublicDeviceRef
deploymentId?
string

Returns

Promise<EdgeDispatchDeviceResolution>

select()

select(context, request): Promise<EdgeSelectionResult>
Defined in: packages/core/src/edge/inventoryService.ts:202

Parameters

context
EdgeInventoryContext
request
EdgeSelectionRequest

Returns

Promise<EdgeSelectionResult>

selectMany()

selectMany(context, request, maxResults): Promise<EdgeSelectionSetResult>
Defined in: packages/core/src/edge/inventoryService.ts:239Resolve all eligible candidates up to a caller-supplied hard result cap.

Parameters

context
EdgeInventoryContext
request
EdgeSelectionRequest
maxResults
number

Returns

Promise<EdgeSelectionSetResult>
@fentaris/core / EdgeLocalAuthorityStoreDefined in: packages/core/src/edge/integratedLocalStore.ts:100Atomic owner-only file-backed local authority store. Not safe for multi-instance writers; acquires an exclusive process lock.

Constructors

Constructor

new EdgeLocalAuthorityStore(options): EdgeLocalAuthorityStore
Defined in: packages/core/src/edge/integratedLocalStore.ts:108

Parameters

options
EdgeLocalAuthorityStoreOptions

Returns

EdgeLocalAuthorityStore

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = LOCAL_EDGE_AUTHORITY_ADAPTER_DIAGNOSTICS
Defined in: packages/core/src/edge/integratedLocalStore.ts:101

Accessors

directory

Get Signature

get directory(): string
Defined in: packages/core/src/edge/integratedLocalStore.ts:113
Returns
string

lockPath

Get Signature

get lockPath(): string
Defined in: packages/core/src/edge/integratedLocalStore.ts:121
Returns
string

statePath

Get Signature

get statePath(): string
Defined in: packages/core/src/edge/integratedLocalStore.ts:117
Returns
string

Methods

close()

close(): Promise<void>
Defined in: packages/core/src/edge/integratedLocalStore.ts:136

Returns

Promise<void>

consumeRefreshCredential()

consumeRefreshCredential(refreshToken): Promise<EdgeLocalRefreshCredential | undefined>
Defined in: packages/core/src/edge/integratedLocalStore.ts:183

Parameters

refreshToken
string

Returns

Promise<EdgeLocalRefreshCredential | undefined>

decryptSigningKey()

decryptSigningKey(): Buffer
Defined in: packages/core/src/edge/integratedLocalStore.ts:290

Returns

Buffer

getEnrolledDevice()

getEnrolledDevice(tenantId, edgeNodeId): Promise<EdgeEnrolledDeviceAuthority | undefined>
Defined in: packages/core/src/edge/integratedLocalStore.ts:217

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeEnrolledDeviceAuthority | undefined>

getSessionByDeviceCodeHash()

getSessionByDeviceCodeHash(deviceCodeHash): Promise<EdgeAuthorizationSession | undefined>
Defined in: packages/core/src/edge/integratedLocalStore.ts:157

Parameters

deviceCodeHash
string

Returns

Promise<EdgeAuthorizationSession | undefined>

getSessionByUserCode()

getSessionByUserCode(userCode): Promise<EdgeAuthorizationSession | undefined>
Defined in: packages/core/src/edge/integratedLocalStore.ts:152

Parameters

userCode
string

Returns

Promise<EdgeAuthorizationSession | undefined>

open()

open(): Promise<EdgeLocalAuthorityDocument>
Defined in: packages/core/src/edge/integratedLocalStore.ts:125

Returns

Promise<EdgeLocalAuthorityDocument>

putAuthorizationSession()

putAuthorizationSession(session): Promise<void>
Defined in: packages/core/src/edge/integratedLocalStore.ts:161

Parameters

session
EdgeAuthorizationSession

Returns

Promise<void>

putDesiredAssignment()

putDesiredAssignment(snapshot, expectedVersion): Promise<"unchanged" | "updated" | "conflict">
Defined in: packages/core/src/edge/integratedLocalStore.ts:256

Parameters

snapshot
EdgeDesiredAssignmentSnapshot
expectedVersion
number | undefined

Returns

Promise<"unchanged" | "updated" | "conflict">

putEnrolledDevice()

putEnrolledDevice(device): Promise<void>
Defined in: packages/core/src/edge/integratedLocalStore.ts:205

Parameters

device
EdgeEnrolledDeviceAuthority

Returns

Promise<void>

putRefreshCredential()

putRefreshCredential(credential): Promise<void>
Defined in: packages/core/src/edge/integratedLocalStore.ts:171

Parameters

credential
EdgeLocalRefreshCredential

Returns

Promise<void>

removeDesiredAssignment()

removeDesiredAssignment(tenantId, edgeNodeId): Promise<void>
Defined in: packages/core/src/edge/integratedLocalStore.ts:281

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<void>

revokeDevice()

revokeDevice(tenantId, edgeNodeId, revokedAt?): Promise<EdgeEnrolledDeviceAuthority | undefined>
Defined in: packages/core/src/edge/integratedLocalStore.ts:223

Parameters

tenantId
string
edgeNodeId
string
revokedAt?
number = ...

Returns

Promise<EdgeEnrolledDeviceAuthority | undefined>

snapshot()

snapshot(): EdgeLocalAuthorityDocument
Defined in: packages/core/src/edge/integratedLocalStore.ts:147

Returns

EdgeLocalAuthorityDocument
@fentaris/core / EdgeLocalOperatorClientDefined in: packages/core/src/edge/integratedOperatorChannel.ts:250Client for the protected local operator channel.

Constructors

Constructor

new EdgeLocalOperatorClient(endpoint): EdgeLocalOperatorClient
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:251

Parameters

endpoint
EdgeLocalOperatorEndpoint

Returns

EdgeLocalOperatorClient

Methods

request()

request(request): Promise<EdgeLocalOperatorResponse>
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:253

Parameters

request
Omit<{ command: "approve"; credential: string; decision: EdgeDeviceApprovalDecision; userCode: string; }, "credential"> & object | Omit<{ command: "deny"; credential: string; decision: Omit<EdgeDeviceApprovalDecision, "subjectId"> & object; userCode: string; }, "credential"> & object | Omit<{ command: "status"; credential: string; }, "credential"> & object

Returns

Promise<EdgeLocalOperatorResponse>
@fentaris/core / EdgeLocalOperatorServerDefined in: packages/core/src/edge/integratedOperatorChannel.ts:95Owner-protected local operator channel used by fentaris edge approve. It never mutates authority files directly from the CLI process.

Implements

  • EdgeLocalOperatorChannel

Constructors

Constructor

new EdgeLocalOperatorServer(options): EdgeLocalOperatorServer
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:98

Parameters

options
EdgeLocalOperatorServerOptions

Returns

EdgeLocalOperatorServer

Accessors

endpoint

Get Signature

get endpoint(): EdgeLocalOperatorEndpoint
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:100
Returns
EdgeLocalOperatorEndpoint

Methods

approve()

approve(userCode, decision): Promise<EdgeAuthorizationSession>
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:155

Parameters

userCode
string
decision
EdgeDeviceApprovalDecision

Returns

Promise<EdgeAuthorizationSession>

Implementation of

EdgeLocalOperatorChannel.approve

close()

close(): Promise<void>
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:133

Returns

Promise<void>

Implementation of

EdgeLocalOperatorChannel.close

deny()

deny(userCode, decision): Promise<EdgeAuthorizationSession>
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:159

Parameters

userCode
string
decision
Omit<EdgeDeviceApprovalDecision, "subjectId"> & object

Returns

Promise<EdgeAuthorizationSession>

Implementation of

EdgeLocalOperatorChannel.deny

start()

start(): Promise<void>
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:104

Returns

Promise<void>

status()

status(): Promise<{ enrolledDevices: number; mode: "local"; multiInstance: false; pendingApprovals: number; }>
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:169

Returns

Promise<{ enrolledDevices: number; mode: "local"; multiInstance: false; pendingApprovals: number; }>

Implementation of

EdgeLocalOperatorChannel.status
@fentaris/core / EdgeSessionPinnerDefined in: packages/core/src/edge/sessionPinning.ts:86Lazily pins downstream sessions to edge devices and reuses pins across MCP declarations that share a logical target in the same session.

Constructors

Constructor

new EdgeSessionPinner(inputs): EdgeSessionPinner
Defined in: packages/core/src/edge/sessionPinning.ts:93

Parameters

inputs
EdgeSessionPinnerInputs

Returns

EdgeSessionPinner

Properties

store

readonly store: SessionBindingStore
Defined in: packages/core/src/edge/sessionPinning.ts:90

Methods

addListener()

addListener(listener): void
Defined in: packages/core/src/edge/sessionPinning.ts:105Register a removal listener (see SessionBindingStore.addListener).

Parameters

listener
SessionBindingListener

Returns

void

endSession()

endSession(sessionId): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionPinning.ts:236Remove and return bindings for a session on downstream session end.

Parameters

sessionId
string

Returns

Promise<readonly SessionTargetBinding[]>

pin()

pin(request): Promise<SessionPinResult>
Defined in: packages/core/src/edge/sessionPinning.ts:122Lazily resolve and pin { session, subject, target } to one eligible edge node before the first edge-dependent operation, reusing an existing pin for the same logical target within the same downstream session.

Parameters

request
SessionPinRequest

Returns

Promise<SessionPinResult>

Throws

EDGE_UNAUTHORIZED_TARGET for an ineligible explicit session selection.

Throws

EDGE_PLACEMENT_AMBIGUOUS for unresolved runtime group overlap.

Throws

EDGE_UNAVAILABLE when no eligible device exists or a different edge node attempts to take over an existing pin.

purgeExpired()

purgeExpired(): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionPinning.ts:248Remove expired bindings.

Returns

Promise<readonly SessionTargetBinding[]>

reconnect()

reconnect(key, edgeNodeId, connectionGeneration): Promise<SessionTargetBinding | undefined>
Defined in: packages/core/src/edge/sessionPinning.ts:214Advance the connection generation for a pinned binding on reconnect by the same enrolled node. Throws EDGE_UNAVAILABLE when a different node attempts to resume the binding (silent takeover is rejected).

Parameters

key
SessionBindingKey
edgeNodeId
string
connectionGeneration
number

Returns

Promise<SessionTargetBinding | undefined>

removeTarget()

removeTarget(targetName): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionPinning.ts:243Remove and return bindings for a target on target removal/shutdown.

Parameters

targetName
string

Returns

Promise<readonly SessionTargetBinding[]>

shutdown()

shutdown(): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionPinning.ts:253Remove every binding on runtime shutdown.

Returns

Promise<readonly SessionTargetBinding[]>
@fentaris/core / EdgeSessionSelectionServiceDefined in: packages/core/src/edge/sessionSelection.ts:35Validates and stores agent-requested device choices only before target pinning.

Constructors

Constructor

new EdgeSessionSelectionService(options): EdgeSessionSelectionService
Defined in: packages/core/src/edge/sessionSelection.ts:40

Parameters

options
EdgeSessionSelectionServiceOptions

Returns

EdgeSessionSelectionService

Methods

endSession()

endSession(sessionId): Promise<readonly EdgeSessionSelection[]>
Defined in: packages/core/src/edge/sessionSelection.ts:79

Parameters

sessionId
string

Returns

Promise<readonly EdgeSessionSelection[]>

get()

get(sessionId, subjectId, targetName): Promise<EdgeSessionSelection | undefined>
Defined in: packages/core/src/edge/sessionSelection.ts:75

Parameters

sessionId
string
subjectId
string
targetName
string

Returns

Promise<EdgeSessionSelection | undefined>

select()

select(request): Promise<EdgeSessionSelection>
Defined in: packages/core/src/edge/sessionSelection.ts:46

Parameters

request
EdgeSessionSelectionRequest

Returns

Promise<EdgeSessionSelection>
@fentaris/core / EdgeSingleCallCoordinatorDefined in: packages/core/src/edge/controlInvocation.ts:59Resolve, validate, isolate, dispatch, and clean up one explicit Edge call.

Constructors

Constructor

new EdgeSingleCallCoordinator(options): EdgeSingleCallCoordinator
Defined in: packages/core/src/edge/controlInvocation.ts:65

Parameters

options
EdgeSingleCallCoordinatorOptions

Returns

EdgeSingleCallCoordinator

Methods

call()

call(context, raw): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/edge/controlInvocation.ts:72

Parameters

context
ProxyContext
raw
Readonly<Record<string, unknown>>

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
@fentaris/core / EdgeTelemetryDefined in: packages/core/src/edge/observability.ts:48Structured edge telemetry emitter with mandatory protocol/local-data redaction.

Constructors

Constructor

new EdgeTelemetry(sink, now?): EdgeTelemetry
Defined in: packages/core/src/edge/observability.ts:49

Parameters

sink
EdgeTelemetrySink
now?
() => number

Returns

EdgeTelemetry

Methods

emit()

emit(event): Promise<void>
Defined in: packages/core/src/edge/observability.ts:54

Parameters

event
Omit<EdgeRuntimeEvent, "occurredAt"> & object

Returns

Promise<void>
@fentaris/core / EdgeTransportDefined in: packages/core/src/edge/EdgeTransport.ts:71Virtual MCP transport backed by a correlated edge channel.The selected route is supplied through the explicit proxy-context contract. Requests enforce deadlines, propagate cancellation, reject mismatched or malformed responses, and never allow a late result to satisfy another call.

Implements

  • FentarisTransport

Constructors

Constructor

new EdgeTransport(options): EdgeTransport
Defined in: packages/core/src/edge/EdgeTransport.ts:82

Parameters

options
EdgeTransportOptions

Returns

EdgeTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:102

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/edge/EdgeTransport.ts:134

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:126

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:122

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:118

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:106

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:114

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:98

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

ping()

ping(): Promise<{ _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:130

Returns

Promise<{ _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; }>

Implementation of

FentarisTransport.ping

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/edge/EdgeTransport.ts:110

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

withProxyContext()

withProxyContext<T>(context, run): Promise<T>
Defined in: packages/core/src/edge/EdgeTransport.ts:94Run an MCP operation with the governed proxy context that authorized it.Context-aware transports (including edge dispatch) use this explicit contract to observe the authenticated subject, downstream session, policy decision, and selected capability without changing operation signatures. Transports that do not need proxy context may omit it.

Type Parameters

T
T

Parameters

context
ProxyContext
run
() => Promise<T>

Returns

Promise<T>

Implementation of

FentarisTransport.withProxyContext
@fentaris/core / EdgeWebSocketGatewayDefined in: packages/core/src/edge/gateway.ts:117Reference single-process outbound WebSocket gateway.Production multi-instance deployments should replace its active socket map with a distributed channel broker while retaining these authentication, generation, authorization, and protocol semantics.

Implements

  • EdgeTransportChannel
  • EdgeConnectionTerminator

Constructors

Constructor

new EdgeWebSocketGateway(options): EdgeWebSocketGateway
Defined in: packages/core/src/edge/gateway.ts:127

Parameters

options
EdgeWebSocketGatewayOptions

Returns

EdgeWebSocketGateway

Methods

accept()

accept(socket, credential): Promise<EdgeConnectionRecord>
Defined in: packages/core/src/edge/gateway.ts:142Accept an outbound edge socket and complete hello/authentication/protocol negotiation before exposing the connection.

Parameters

socket
EdgeGatewaySocket
credential
string

Returns

Promise<EdgeConnectionRecord>

close()

close(reason?): Promise<void>
Defined in: packages/core/src/edge/gateway.ts:267Stop accepting routed work and close every active generation idempotently.

Parameters

reason?
string = "runtime-shutdown"

Returns

Promise<void>

disconnect()

disconnect(tenantId, edgeNodeId, connectionGeneration, reason): Promise<void>
Defined in: packages/core/src/edge/gateway.ts:210Close and clean the exact authenticated connection generation.

Parameters

tenantId
string
edgeNodeId
string
connectionGeneration
number
reason
"revoked" | "operator-disconnect"

Returns

Promise<void>

Implementation of

EdgeConnectionTerminator.disconnect

onMessage()

onMessage(handler): () => void
Defined in: packages/core/src/edge/gateway.ts:204

Parameters

handler
(message) => void

Returns

() => void

Implementation of

EdgeTransportChannel.onMessage

publishDesiredState()

publishDesiredState(state): Promise<"published" | "unchanged">
Defined in: packages/core/src/edge/gateway.ts:226Publish desired state idempotently. A repeated identical version is stored as unchanged and is not resent; stale or conflicting versions are rejected.

Parameters

state
EdgeDesiredStateMessage

Returns

Promise<"published" | "unchanged">

send()

send(message): Promise<void>
Defined in: packages/core/src/edge/gateway.ts:195Send a correlated MCP request/cancellation to its authenticated edge.

Parameters

message
EdgeMcpOutboundEnvelope

Returns

Promise<void>

Implementation of

EdgeTransportChannel.send

sweepExpiredConnections()

sweepExpiredConnections(): Promise<readonly EdgeConnectionRecord[]>
Defined in: packages/core/src/edge/gateway.ts:251Close connections whose authenticated heartbeat expired.

Returns

Promise<readonly EdgeConnectionRecord[]>
@fentaris/core / FentarisAuthDefined in: packages/core/src/auth/auth.ts:92Unified local auth configuration.

Methods

getBinding()

getBinding(serverName): { credential: string; type: "bearer"; } | { credential: string; header: string; type: "header"; } | { credential: string; env: string; type: "env"; } | undefined
Defined in: packages/core/src/auth/auth.ts:186

Parameters

serverName
string

Returns

{ credential: string; type: "bearer"; } | { credential: string; header: string; type: "header"; } | { credential: string; env: string; type: "env"; } | undefined

identityStrategy()

identityStrategy(options?): IdentityStrategy
Defined in: packages/core/src/auth/auth.ts:182

Parameters

options?
header?
string
name?
string

Returns

IdentityStrategy

resolveApiKey()

resolveApiKey(apiKey): string | null
Defined in: packages/core/src/auth/auth.ts:172

Parameters

apiKey
string

Returns

string | null

resolveCredential()

resolveCredential(reference, subject): CredentialResolution | null
Defined in: packages/core/src/auth/auth.ts:190

Parameters

reference
string
subject
ResolvedSubject

Returns

CredentialResolution | null

compareApiKey()

static compareApiKey(candidate, provided): boolean
Defined in: packages/core/src/auth/auth.ts:168Compare a stored raw or hashed API key with a provided raw key.

Parameters

candidate
string
provided
string

Returns

boolean

decryptCredentials()

static decryptCredentials(envelope, key): object
Defined in: packages/core/src/auth/auth.ts:151Decrypt and validate a local credentials envelope.

Parameters

envelope
unknown
key
string | Buffer<ArrayBufferLike>

Returns

object
defaults
defaults: Record<string, string>
groups
groups: Record<string, Record<string, string>>
users
users: Record<string, { apiKeys: string[]; credentials: Record<string, string>; }>

encryptCredentials()

static encryptCredentials(credentials, key): { algorithm: "aes-256-gcm"; ciphertext: string; iv: string; salt: string; tag: string; version: 1; } | { algorithm: "aes-256-gcm"; ciphertext: string; iv: string; kdf: { iterations: number; keyLength: 32; name: "pbkdf2-sha256"; salt: string; }; tag: string; version: 2; }
Defined in: packages/core/src/auth/auth.ts:124Build an encrypted credentials envelope for local auth files.

Parameters

credentials
defaults
Record<string, string> = ...
groups
Record<string, Record<string, string>> = ...
users
Record<string, { apiKeys: string[]; credentials: Record<string, string>; }> = ...
key
string | Buffer<ArrayBufferLike>

Returns

{ algorithm: "aes-256-gcm"; ciphertext: string; iv: string; salt: string; tag: string; version: 1; } | { algorithm: "aes-256-gcm"; ciphertext: string; iv: string; kdf: { iterations: number; keyLength: 32; name: "pbkdf2-sha256"; salt: string; }; tag: string; version: 2; }

hashApiKey()

static hashApiKey(apiKey): string
Defined in: packages/core/src/auth/auth.ts:160Return the supported API-key hash encoding for local credentials.

Parameters

apiKey
string

Returns

string

local()

static local(options): Promise<FentarisAuth>
Defined in: packages/core/src/auth/auth.ts:105Load local encrypted credentials and upstream auth bindings from a directory.

Parameters

options
LocalAuthOptions

Returns

Promise<FentarisAuth>
@fentaris/core / FentarisConfigErrorDefined in: packages/core/src/config/error.ts:8Error thrown when Fentaris configuration validation reports error diagnostics.

Extends

  • Error

Constructors

Constructor

new FentarisConfigError(diagnostics, message?): FentarisConfigError
Defined in: packages/core/src/config/error.ts:11

Parameters

diagnostics
readonly FentarisDiagnostic[]
message?
string

Returns

FentarisConfigError

Overrides

Error.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause

diagnostics

readonly diagnostics: FentarisDiagnostic[]
Defined in: packages/core/src/config/error.ts:9

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

Error.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

Error.name

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

format()

format(options?): string
Defined in: packages/core/src/config/error.ts:17

Parameters

options?
FentarisDiagnosticFormatterOptions = {}

Returns

string

toJSON()

toJSON(): object
Defined in: packages/core/src/config/error.ts:21

Returns

object
diagnostics
diagnostics: FentarisDiagnostic[]
message
message: string
name
name: string

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

Error.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace
@fentaris/core / FentarisExtensionErrorDefined in: packages/core/src/profiler/errors.ts:47Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisExtensionError(message, options?): FentarisExtensionError
Defined in: packages/core/src/profiler/errors.ts:48

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisExtensionError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / FentarisMcpErrorDefined in: packages/core/src/profiler/errors.ts:29Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisMcpError(message, options?): FentarisMcpError
Defined in: packages/core/src/profiler/errors.ts:30

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisMcpError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / FentarisPolicyErrorDefined in: packages/core/src/profiler/errors.ts:41Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisPolicyError(message, options?): FentarisPolicyError
Defined in: packages/core/src/profiler/errors.ts:42

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisPolicyError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / FentarisRuntimeErrorDefined in: packages/core/src/profiler/errors.ts:13Runtime profiler, event, sink, and runtime error APIs.

Extends

  • Error

Extended by

  • FentarisExtensionError
  • FentarisMcpError
  • FentarisPolicyError
  • FentarisTimeoutError
  • FentarisTransportError

Constructors

Constructor

new FentarisRuntimeError(message, options?): FentarisRuntimeError
Defined in: packages/core/src/profiler/errors.ts:19

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisRuntimeError

Overrides

Error.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

Error.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

Error.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

Error.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace
@fentaris/core / FentarisTimeoutErrorDefined in: packages/core/src/profiler/errors.ts:53Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisTimeoutError(message, options?): FentarisTimeoutError
Defined in: packages/core/src/profiler/errors.ts:54

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisTimeoutError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / FentarisTransportErrorDefined in: packages/core/src/profiler/errors.ts:35Runtime profiler, event, sink, and runtime error APIs.

Extends

  • FentarisRuntimeError

Constructors

Constructor

new FentarisTransportError(message, options?): FentarisTransportError
Defined in: packages/core/src/profiler/errors.ts:36

Parameters

message
string
options?
FentarisRuntimeErrorOptions = {}

Returns

FentarisTransportError

Overrides

FentarisRuntimeError.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

FentarisRuntimeError.cause

code

readonly code: string
Defined in: packages/core/src/profiler/errors.ts:14

Inherited from

FentarisRuntimeError.code

context

readonly context: RuntimeErrorContext
Defined in: packages/core/src/profiler/errors.ts:17

Inherited from

FentarisRuntimeError.context

hints

readonly hints: string[]
Defined in: packages/core/src/profiler/errors.ts:16

Inherited from

FentarisRuntimeError.hints

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

FentarisRuntimeError.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

FentarisRuntimeError.name

severity

readonly severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/errors.ts:15

Inherited from

FentarisRuntimeError.severity

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

FentarisRuntimeError.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

FentarisRuntimeError.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

FentarisRuntimeError.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

FentarisRuntimeError.prepareStackTrace
@fentaris/core / GroupDefined in: packages/core/src/governance/governance.ts:43First-class group declaration that owns users and policy.

Constructors

Constructor

new Group(options): Group
Defined in: packages/core/src/governance/governance.ts:52

Parameters

options
GroupOptions

Returns

Group

Properties

credentials

readonly credentials: CredentialSourceMap
Defined in: packages/core/src/governance/governance.ts:48

id

readonly id: string
Defined in: packages/core/src/governance/governance.ts:44

metadata?

readonly optional metadata?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:50

name?

readonly optional name?: string
Defined in: packages/core/src/governance/governance.ts:45

policy

readonly policy: PolicyContract
Defined in: packages/core/src/governance/governance.ts:47

servers

readonly servers: McpServer[]
Defined in: packages/core/src/governance/governance.ts:49

users

readonly users: User[]
Defined in: packages/core/src/governance/governance.ts:46
@fentaris/core / HttpProxyExposureTransportDefined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:60HTTP Streamable MCP downstream proxy exposure.

Implements

  • ProxyExposureTransport<HttpProxyExposureHandle>

Constructors

Constructor

new HttpProxyExposureTransport(options?): HttpProxyExposureTransport
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:68Create an HTTP proxy exposure transport.

Parameters

options?
HttpProxyExposureTransportOptions = {}

Returns

HttpProxyExposureTransport

Methods

listen()

listen(runtime): Promise<HttpProxyExposureHandle>
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:80

Parameters

runtime
ProxyRuntime

Returns

Promise<HttpProxyExposureHandle>

Implementation of

ProxyExposureTransport.listen
@fentaris/core / HttpTransportDefined in: packages/core/src/transports/client/HttpTransport.ts:31HTTP-based MCP transport adapter.

Implements

  • FentarisTransport

Constructors

Constructor

new HttpTransport(options): HttpTransport
Defined in: packages/core/src/transports/client/HttpTransport.ts:39Create a new HTTP transport.

Parameters

options
HttpTransportOptions

Returns

HttpTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/HttpTransport.ts:68

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/HttpTransport.ts:72

Returns

Promise<void>

Implementation of

FentarisTransport.close

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/HttpTransport.ts:64

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

withEnv()

withEnv(env): HttpTransport
Defined in: packages/core/src/transports/client/HttpTransport.ts:52Return a copy with explicitly mapped env-derived headers merged in.

Parameters

env
Record<string, string>

Returns

HttpTransport
@fentaris/core / InMemoryEdgeCapabilityCacheStoreDefined in: packages/core/src/edge/capabilityCache.ts:43Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Implements

  • EdgeCapabilityCacheStore

Constructors

Constructor

new InMemoryEdgeCapabilityCacheStore(): InMemoryEdgeCapabilityCacheStore

Returns

InMemoryEdgeCapabilityCacheStore

Methods

delete()

delete(tenantId, deploymentId): Promise<void>
Defined in: packages/core/src/edge/capabilityCache.ts:51

Parameters

tenantId
string
deploymentId
string

Returns

Promise<void>

Implementation of

EdgeCapabilityCacheStore.delete

get()

get(tenantId, deploymentId): Promise<EdgeCapabilityManifest | undefined>
Defined in: packages/core/src/edge/capabilityCache.ts:45

Parameters

tenantId
string
deploymentId
string

Returns

Promise<EdgeCapabilityManifest | undefined>

Implementation of

EdgeCapabilityCacheStore.get

put()

put(manifest): Promise<void>
Defined in: packages/core/src/edge/capabilityCache.ts:48

Parameters

manifest
EdgeCapabilityManifest

Returns

Promise<void>

Implementation of

EdgeCapabilityCacheStore.put
@fentaris/core / InMemoryEdgeCapabilityManifestStoreDefined in: packages/core/src/edge/controlPlane.ts:370Reference single-process capability-manifest store.

Implements

  • EdgeCapabilityManifestStore

Constructors

Constructor

new InMemoryEdgeCapabilityManifestStore(): InMemoryEdgeCapabilityManifestStore

Returns

InMemoryEdgeCapabilityManifestStore

Methods

delete()

delete(tenantId, edgeNodeId, deploymentId): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:386

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<void>

Implementation of

EdgeCapabilityManifestStore.delete

get()

get(tenantId, edgeNodeId, deploymentId): Promise<EdgeCapabilityManifestMessage | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:372

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<EdgeCapabilityManifestMessage | undefined>

Implementation of

EdgeCapabilityManifestStore.get

put()

put(manifest): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:375

Parameters

manifest
EdgeCapabilityManifestMessage

Returns

Promise<void>

Implementation of

EdgeCapabilityManifestStore.put
@fentaris/core / InMemoryEdgeChannelBrokerDefined in: packages/core/src/edge/controlPlane.ts:418Reference single-process pub/sub broker.

Implements

  • EdgeChannelBroker

Constructors

Constructor

new InMemoryEdgeChannelBroker(): InMemoryEdgeChannelBroker

Returns

InMemoryEdgeChannelBroker

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = IN_MEMORY_EDGE_ADAPTER_DIAGNOSTICS
Defined in: packages/core/src/edge/controlPlane.ts:419

Implementation of

EdgeChannelBroker.diagnostics

Methods

publish()

publish(channel, message): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:421

Parameters

channel
string
message
string

Returns

Promise<void>

Implementation of

EdgeChannelBroker.publish

subscribe()

subscribe(channel, handler): () => void
Defined in: packages/core/src/edge/controlPlane.ts:424

Parameters

channel
string
handler
(message) => void

Returns

() => void

Implementation of

EdgeChannelBroker.subscribe
@fentaris/core / InMemoryEdgeChildBindingStoreDefined in: packages/core/src/edge/inventory.ts:336Deterministic single-process isolated child-binding store.

Implements

  • EdgeChildBindingStore

Constructors

Constructor

new InMemoryEdgeChildBindingStore(createId?): InMemoryEdgeChildBindingStore
Defined in: packages/core/src/edge/inventory.ts:340

Parameters

createId?
() => string

Returns

InMemoryEdgeChildBindingStore

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = IN_MEMORY_EDGE_ADAPTER_DIAGNOSTICS
Defined in: packages/core/src/edge/inventory.ts:337

Implementation of

EdgeChildBindingStore.diagnostics

Methods

allocate()

allocate(input): Promise<EdgeChildBinding>
Defined in: packages/core/src/edge/inventory.ts:342

Parameters

input
Omit<EdgeChildBinding, "childBindingId"> & object

Returns

Promise<EdgeChildBinding>

Implementation of

EdgeChildBindingStore.allocate

delete()

delete(childBindingId): Promise<EdgeChildBinding | undefined>
Defined in: packages/core/src/edge/inventory.ts:356

Parameters

childBindingId
string

Returns

Promise<EdgeChildBinding | undefined>

Implementation of

EdgeChildBindingStore.delete

deleteParent()

deleteParent(parentSessionId, parentRequestId?): Promise<readonly EdgeChildBinding[]>
Defined in: packages/core/src/edge/inventory.ts:360

Parameters

parentSessionId
string
parentRequestId?
string

Returns

Promise<readonly EdgeChildBinding[]>

Implementation of

EdgeChildBindingStore.deleteParent

get()

get(childBindingId): Promise<EdgeChildBinding | undefined>
Defined in: packages/core/src/edge/inventory.ts:352

Parameters

childBindingId
string

Returns

Promise<EdgeChildBinding | undefined>

Implementation of

EdgeChildBindingStore.get

purgeExpired()

purgeExpired(evaluatedAt): Promise<readonly EdgeChildBinding[]>
Defined in: packages/core/src/edge/inventory.ts:365

Parameters

evaluatedAt
number

Returns

Promise<readonly EdgeChildBinding[]>

Implementation of

EdgeChildBindingStore.purgeExpired
@fentaris/core / InMemoryEdgeConnectionStoreDefined in: packages/core/src/edge/controlPlane.ts:392Reference single-process active-connection store.

Implements

  • EdgeConnectionStore

Constructors

Constructor

new InMemoryEdgeConnectionStore(): InMemoryEdgeConnectionStore

Returns

InMemoryEdgeConnectionStore

Methods

bind()

bind(connection): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:397

Parameters

connection
EdgeConnectionRecord

Returns

Promise<void>

Implementation of

EdgeConnectionStore.bind

get()

get(tenantId, edgeNodeId): Promise<EdgeConnectionRecord | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:394

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeConnectionRecord | undefined>

Implementation of

EdgeConnectionStore.get

heartbeat()

heartbeat(tenantId, edgeNodeId, generation, at): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:404

Parameters

tenantId
string
edgeNodeId
string
generation
number
at
number

Returns

Promise<void>

Implementation of

EdgeConnectionStore.heartbeat

remove()

remove(tenantId, edgeNodeId, generation): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:411

Parameters

tenantId
string
edgeNodeId
string
generation
number

Returns

Promise<void>

Implementation of

EdgeConnectionStore.remove
@fentaris/core / InMemoryEdgeDesiredStateStoreDefined in: packages/core/src/edge/controlPlane.ts:285Reference single-process desired-state store.

Implements

  • EdgeDesiredStateStore

Constructors

Constructor

new InMemoryEdgeDesiredStateStore(): InMemoryEdgeDesiredStateStore

Returns

InMemoryEdgeDesiredStateStore

Methods

acknowledge()

acknowledge(ack): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:309

Parameters

ack
EdgeDesiredStateAckMessage

Returns

Promise<void>

Implementation of

EdgeDesiredStateStore.acknowledge

acknowledgedVersion()

acknowledgedVersion(tenantId, edgeNodeId): Promise<number | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:317

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<number | undefined>

Implementation of

EdgeDesiredStateStore.acknowledgedVersion

get()

get(tenantId, edgeNodeId): Promise<EdgeDesiredStateMessage | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:289

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeDesiredStateMessage | undefined>

Implementation of

EdgeDesiredStateStore.get

publish()

publish(state): Promise<"published" | "unchanged">
Defined in: packages/core/src/edge/controlPlane.ts:293

Parameters

state
EdgeDesiredStateMessage

Returns

Promise<"published" | "unchanged">

Implementation of

EdgeDesiredStateStore.publish
@fentaris/core / InMemoryEdgeDeviceRegistryDefined in: packages/core/src/edge/controlPlane.ts:159Reference single-process device registry. Not suitable for multi-instance deployments.

Implements

  • EdgeDeviceRegistry

Constructors

Constructor

new InMemoryEdgeDeviceRegistry(): InMemoryEdgeDeviceRegistry

Returns

InMemoryEdgeDeviceRegistry

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = IN_MEMORY_EDGE_ADAPTER_DIAGNOSTICS
Defined in: packages/core/src/edge/controlPlane.ts:160

Implementation of

EdgeDeviceRegistry.diagnostics

Methods

get()

get(tenantId, edgeNodeId): Promise<EdgeDeviceRecord | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:163

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeDeviceRecord | undefined>

Implementation of

EdgeDeviceRegistry.get

getByName()

getByName(tenantId, name, at?): Promise<EdgeDeviceRecord | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:173

Parameters

tenantId
string
name
string
at?
number = ...

Returns

Promise<EdgeDeviceRecord | undefined>

Implementation of

EdgeDeviceRegistry.getByName

list()

list(tenantId, options?): Promise<EdgeInventoryListPage>
Defined in: packages/core/src/edge/controlPlane.ts:230

Parameters

tenantId
string
options?
EdgeInventoryListOptions = {}

Returns

Promise<EdgeInventoryListPage>

Implementation of

EdgeDeviceRegistry.list

put()

put(device): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:167

Parameters

device
EdgeDeviceRecord

Returns

Promise<void>

Implementation of

EdgeDeviceRegistry.put

revoke()

revoke(tenantId, edgeNodeId): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:265

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<void>

Implementation of

EdgeDeviceRegistry.revoke

updateConnection()

updateConnection(tenantId, edgeNodeId, generation, lastSeenAt): Promise<EdgeDeviceRecord>
Defined in: packages/core/src/edge/controlPlane.ts:252

Parameters

tenantId
string
edgeNodeId
string
generation
number
lastSeenAt
number

Returns

Promise<EdgeDeviceRecord>

Implementation of

EdgeDeviceRegistry.updateConnection

updateInventory()

updateInventory(tenantId, edgeNodeId, update): Promise<EdgeInventoryRecord>
Defined in: packages/core/src/edge/controlPlane.ts:184

Parameters

tenantId
string
edgeNodeId
string
update
EdgeInventoryUpdate

Returns

Promise<EdgeInventoryRecord>

Implementation of

EdgeDeviceRegistry.updateInventory
@fentaris/core / InMemoryEdgeInstallationStatusStoreDefined in: packages/core/src/edge/controlPlane.ts:342Reference single-process managed-installation lifecycle store.

Implements

  • EdgeInstallationStatusStore

Constructors

Constructor

new InMemoryEdgeInstallationStatusStore(): InMemoryEdgeInstallationStatusStore

Returns

InMemoryEdgeInstallationStatusStore

Methods

delete()

delete(tenantId, edgeNodeId, deploymentId): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:364

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<void>

Implementation of

EdgeInstallationStatusStore.delete

get()

get(tenantId, edgeNodeId, deploymentId): Promise<EdgeInstallationStatusMessage | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:344

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<EdgeInstallationStatusMessage | undefined>

Implementation of

EdgeInstallationStatusStore.get

list()

list(tenantId, edgeNodeId): Promise<readonly EdgeInstallationStatusMessage[]>
Defined in: packages/core/src/edge/controlPlane.ts:347

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<readonly EdgeInstallationStatusMessage[]>

Implementation of

EdgeInstallationStatusStore.list

put()

put(status): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:352

Parameters

status
EdgeInstallationStatusMessage

Returns

Promise<void>

Implementation of

EdgeInstallationStatusStore.put
@fentaris/core / InMemoryEdgePoolSelectionStoreDefined in: packages/core/src/edge/distributed.ts:62Deterministic reference selector; atomic only within one JavaScript process.

Implements

  • EdgePoolSelectionStore

Constructors

Constructor

new InMemoryEdgePoolSelectionStore(): InMemoryEdgePoolSelectionStore

Returns

InMemoryEdgePoolSelectionStore

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = IN_MEMORY_DISTRIBUTED_DIAGNOSTICS
Defined in: packages/core/src/edge/distributed.ts:63

Implementation of

EdgePoolSelectionStore.diagnostics

Methods

select()

select(tenantId, pool, candidates, strategy, stickyKey?): Promise<EdgePoolCandidate>
Defined in: packages/core/src/edge/distributed.ts:67

Parameters

tenantId
string
pool
string
candidates
readonly EdgePoolCandidate[]
strategy
EdgeCoordinatedPoolStrategy
stickyKey?
string

Returns

Promise<EdgePoolCandidate>

Implementation of

EdgePoolSelectionStore.select
@fentaris/core / InMemoryEdgePresenceStoreDefined in: packages/core/src/edge/inventory.ts:220Deterministic single-process presence store.

Implements

  • EdgePresenceStore

Constructors

Constructor

new InMemoryEdgePresenceStore(): InMemoryEdgePresenceStore

Returns

InMemoryEdgePresenceStore

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = IN_MEMORY_EDGE_ADAPTER_DIAGNOSTICS
Defined in: packages/core/src/edge/inventory.ts:221

Implementation of

EdgePresenceStore.diagnostics

Methods

get()

get(tenantId, edgeNodeId): Promise<EdgePresence | undefined>
Defined in: packages/core/src/edge/inventory.ts:224

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgePresence | undefined>

Implementation of

EdgePresenceStore.get

purgeStale()

purgeStale(evaluatedAt): Promise<readonly EdgePresence[]>
Defined in: packages/core/src/edge/inventory.ts:244

Parameters

evaluatedAt
number

Returns

Promise<readonly EdgePresence[]>

Implementation of

EdgePresenceStore.purgeStale

put()

put(presence): Promise<void>
Defined in: packages/core/src/edge/inventory.ts:228

Parameters

presence
EdgePresence

Returns

Promise<void>

Implementation of

EdgePresenceStore.put

remove()

remove(tenantId, edgeNodeId, connectionGeneration): Promise<EdgePresence | undefined>
Defined in: packages/core/src/edge/inventory.ts:236

Parameters

tenantId
string
edgeNodeId
string
connectionGeneration
number

Returns

Promise<EdgePresence | undefined>

Implementation of

EdgePresenceStore.remove
@fentaris/core / InMemoryEdgeReadinessStoreDefined in: packages/core/src/edge/inventory.ts:263Deterministic single-process readiness store.

Implements

  • EdgeReadinessStore

Constructors

Constructor

new InMemoryEdgeReadinessStore(): InMemoryEdgeReadinessStore

Returns

InMemoryEdgeReadinessStore

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = IN_MEMORY_EDGE_ADAPTER_DIAGNOSTICS
Defined in: packages/core/src/edge/inventory.ts:264

Implementation of

EdgeReadinessStore.diagnostics

Methods

delete()

delete(tenantId, edgeNodeId, deploymentId): Promise<void>
Defined in: packages/core/src/edge/inventory.ts:292

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<void>

Implementation of

EdgeReadinessStore.delete

get()

get(tenantId, edgeNodeId, deploymentId): Promise<EdgeDeploymentReadiness | undefined>
Defined in: packages/core/src/edge/inventory.ts:267

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<EdgeDeploymentReadiness | undefined>

Implementation of

EdgeReadinessStore.get

list()

list(tenantId, edgeNodeId): Promise<readonly EdgeDeploymentReadiness[]>
Defined in: packages/core/src/edge/inventory.ts:271

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<readonly EdgeDeploymentReadiness[]>

Implementation of

EdgeReadinessStore.list

purgeExpired()

purgeExpired(evaluatedAt): Promise<readonly EdgeDeploymentReadiness[]>
Defined in: packages/core/src/edge/inventory.ts:296

Parameters

evaluatedAt
number

Returns

Promise<readonly EdgeDeploymentReadiness[]>

Implementation of

EdgeReadinessStore.purgeExpired

put()

put(readiness): Promise<void>
Defined in: packages/core/src/edge/inventory.ts:277

Parameters

readiness
EdgeDeploymentReadiness

Returns

Promise<void>

Implementation of

EdgeReadinessStore.put
@fentaris/core / InMemoryEdgeResultCorrelationStoreDefined in: packages/core/src/edge/distributed.ts:101Atomic-take in-memory correlation fixture for distributed harnesses.

Implements

  • EdgeResultCorrelationStore

Constructors

Constructor

new InMemoryEdgeResultCorrelationStore(): InMemoryEdgeResultCorrelationStore

Returns

InMemoryEdgeResultCorrelationStore

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = IN_MEMORY_DISTRIBUTED_DIAGNOSTICS
Defined in: packages/core/src/edge/distributed.ts:102

Implementation of

EdgeResultCorrelationStore.diagnostics

Methods

purgeExpired()

purgeExpired(at): Promise<readonly EdgeResultCorrelation[]>
Defined in: packages/core/src/edge/distributed.ts:116

Parameters

at
number

Returns

Promise<readonly EdgeResultCorrelation[]>

Implementation of

EdgeResultCorrelationStore.purgeExpired

put()

put(value): Promise<void>
Defined in: packages/core/src/edge/distributed.ts:105

Parameters

value
EdgeResultCorrelation

Returns

Promise<void>

Implementation of

EdgeResultCorrelationStore.put

take()

take(requestId): Promise<EdgeResultCorrelation | undefined>
Defined in: packages/core/src/edge/distributed.ts:110

Parameters

requestId
string

Returns

Promise<EdgeResultCorrelation | undefined>

Implementation of

EdgeResultCorrelationStore.take
@fentaris/core / InMemoryEdgeSessionSelectionStoreDefined in: packages/core/src/edge/inventory.ts:302Deterministic single-process pre-pin selection store.

Implements

  • EdgeSessionSelectionStore

Constructors

Constructor

new InMemoryEdgeSessionSelectionStore(now?): InMemoryEdgeSessionSelectionStore
Defined in: packages/core/src/edge/inventory.ts:306

Parameters

now?
() => number

Returns

InMemoryEdgeSessionSelectionStore

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics = IN_MEMORY_EDGE_ADAPTER_DIAGNOSTICS
Defined in: packages/core/src/edge/inventory.ts:303

Implementation of

EdgeSessionSelectionStore.diagnostics

Methods

delete()

delete(sessionId, subjectId, targetName): Promise<EdgeSessionSelection | undefined>
Defined in: packages/core/src/edge/inventory.ts:322

Parameters

sessionId
string
subjectId
string
targetName
string

Returns

Promise<EdgeSessionSelection | undefined>

Implementation of

EdgeSessionSelectionStore.delete

deleteSession()

deleteSession(sessionId): Promise<readonly EdgeSessionSelection[]>
Defined in: packages/core/src/edge/inventory.ts:326

Parameters

sessionId
string

Returns

Promise<readonly EdgeSessionSelection[]>

Implementation of

EdgeSessionSelectionStore.deleteSession

get()

get(sessionId, subjectId, targetName): Promise<EdgeSessionSelection | undefined>
Defined in: packages/core/src/edge/inventory.ts:312

Parameters

sessionId
string
subjectId
string
targetName
string

Returns

Promise<EdgeSessionSelection | undefined>

Implementation of

EdgeSessionSelectionStore.get

purgeExpired()

purgeExpired(evaluatedAt): Promise<readonly EdgeSessionSelection[]>
Defined in: packages/core/src/edge/inventory.ts:330

Parameters

evaluatedAt
number

Returns

Promise<readonly EdgeSessionSelection[]>

Implementation of

EdgeSessionSelectionStore.purgeExpired

put()

put(selection): Promise<void>
Defined in: packages/core/src/edge/inventory.ts:308

Parameters

selection
EdgeSessionSelection

Returns

Promise<void>

Implementation of

EdgeSessionSelectionStore.put
@fentaris/core / InMemoryEdgeSetupStatusStoreDefined in: packages/core/src/edge/controlPlane.ts:323Reference single-process setup-status store.

Implements

  • EdgeSetupStatusStore

Constructors

Constructor

new InMemoryEdgeSetupStatusStore(): InMemoryEdgeSetupStatusStore

Returns

InMemoryEdgeSetupStatusStore

Methods

get()

get(tenantId, edgeNodeId, deploymentId): Promise<EdgeSetupStatusMessage | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:325

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<EdgeSetupStatusMessage | undefined>

Implementation of

EdgeSetupStatusStore.get

put()

put(status): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:328

Parameters

status
EdgeSetupStatusMessage

Returns

Promise<void>

Implementation of

EdgeSetupStatusStore.put
@fentaris/core / InMemoryInstallationApprovalStoreDefined in: packages/core/src/edge/installation.ts:422Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Implements

  • InstallationApprovalStore

Constructors

Constructor

new InMemoryInstallationApprovalStore(): InMemoryInstallationApprovalStore

Returns

InMemoryInstallationApprovalStore

Methods

get()

get(digest, cleanup?): Promise<InstallationApprovalRecord | undefined>
Defined in: packages/core/src/edge/installation.ts:424

Parameters

digest
`sha256:${string}`
cleanup?
boolean = false

Returns

Promise<InstallationApprovalRecord | undefined>

Implementation of

InstallationApprovalStore.get

put()

put(value): Promise<void>
Defined in: packages/core/src/edge/installation.ts:425

Parameters

value
InstallationApprovalRecord

Returns

Promise<void>

Implementation of

InstallationApprovalStore.put
@fentaris/core / InMemoryInstallationArtifactStoreDefined in: packages/core/src/edge/installation.ts:435Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Implements

  • InstallationArtifactStore

Constructors

Constructor

new InMemoryInstallationArtifactStore(): InMemoryInstallationArtifactStore

Returns

InMemoryInstallationArtifactStore

Methods

delete()

delete(digest): Promise<void>
Defined in: packages/core/src/edge/installation.ts:440

Parameters

digest
`sha256:${string}`

Returns

Promise<void>

Implementation of

InstallationArtifactStore.delete

get()

get(digest): Promise<InstallationArtifactRecord | undefined>
Defined in: packages/core/src/edge/installation.ts:437

Parameters

digest
`sha256:${string}`

Returns

Promise<InstallationArtifactRecord | undefined>

Implementation of

InstallationArtifactStore.get

list()

list(): Promise<InstallationArtifactRecord[]>
Defined in: packages/core/src/edge/installation.ts:438

Returns

Promise<InstallationArtifactRecord[]>

Implementation of

InstallationArtifactStore.list

put()

put(value): Promise<void>
Defined in: packages/core/src/edge/installation.ts:439

Parameters

value
InstallationArtifactRecord

Returns

Promise<void>

Implementation of

InstallationArtifactStore.put
@fentaris/core / InMemoryInstallationAttemptStoreDefined in: packages/core/src/edge/installation.ts:415Deterministic single-process adapter implementations for tests and local use.

Implements

  • InstallationAttemptStore

Constructors

Constructor

new InMemoryInstallationAttemptStore(): InMemoryInstallationAttemptStore

Returns

InMemoryInstallationAttemptStore

Methods

get()

get(id): Promise<InstallationAttemptSummary | undefined>
Defined in: packages/core/src/edge/installation.ts:417

Parameters

id
string

Returns

Promise<InstallationAttemptSummary | undefined>

Implementation of

InstallationAttemptStore.get

list()

list(digest): Promise<InstallationAttemptSummary[]>
Defined in: packages/core/src/edge/installation.ts:418

Parameters

digest
`sha256:${string}`

Returns

Promise<InstallationAttemptSummary[]>

Implementation of

InstallationAttemptStore.list

put()

put(value): Promise<void>
Defined in: packages/core/src/edge/installation.ts:419

Parameters

value
InstallationAttemptSummary

Returns

Promise<void>

Implementation of

InstallationAttemptStore.put
@fentaris/core / InMemoryInstallationLifecycleStoreDefined in: packages/core/src/edge/installation.ts:428Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Implements

  • InstallationLifecycleStore

Constructors

Constructor

new InMemoryInstallationLifecycleStore(): InMemoryInstallationLifecycleStore

Returns

InMemoryInstallationLifecycleStore

Methods

get()

get(id): Promise<InstallationLifecycleSummary | undefined>
Defined in: packages/core/src/edge/installation.ts:430

Parameters

id
string

Returns

Promise<InstallationLifecycleSummary | undefined>

Implementation of

InstallationLifecycleStore.get

list()

list(): Promise<InstallationLifecycleSummary[]>
Defined in: packages/core/src/edge/installation.ts:431

Returns

Promise<InstallationLifecycleSummary[]>

Implementation of

InstallationLifecycleStore.list

put()

put(value): Promise<void>
Defined in: packages/core/src/edge/installation.ts:432

Parameters

value
InstallationLifecycleSummary

Returns

Promise<void>

Implementation of

InstallationLifecycleStore.put
@fentaris/core / InMemoryInstallationMutationLockDefined in: packages/core/src/edge/installation.ts:443Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Implements

  • InstallationMutationLock

Constructors

Constructor

new InMemoryInstallationMutationLock(): InMemoryInstallationMutationLock

Returns

InMemoryInstallationMutationLock

Methods

runExclusive()

runExclusive<T>(key, operation): Promise<T>
Defined in: packages/core/src/edge/installation.ts:445

Type Parameters

T
T

Parameters

key
string
operation
() => Promise<T>

Returns

Promise<T>

Implementation of

InstallationMutationLock.runExclusive
@fentaris/core / InMemorySessionBindingStoreDefined in: packages/core/src/edge/sessionBinding.ts:162Reference single-process in-memory SessionBindingStore.Atomicity is implemented with a single async lock serializing mutating operations on the same key; reads use the same lock to observe a consistent snapshot. This implementation is intentionally not durable and not safe for multi-process deployments; managed clouds must supply a durable adapter.

Implements

  • SessionBindingStore

Constructors

Constructor

new InMemorySessionBindingStore(expiry?): InMemorySessionBindingStore
Defined in: packages/core/src/edge/sessionBinding.ts:169

Parameters

expiry?
SessionBindingExpiryOptions = {}

Returns

InMemorySessionBindingStore

Methods

addListener()

addListener(listener): void
Defined in: packages/core/src/edge/sessionBinding.ts:173Register a removal listener.

Parameters

listener
SessionBindingListener

Returns

void

Implementation of

SessionBindingStore.addListener

clear()

clear(): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:322Remove every binding (runtime shutdown); returns the removed bindings.

Returns

Promise<readonly SessionTargetBinding[]>

Implementation of

SessionBindingStore.clear

delete()

delete(key): Promise<SessionTargetBinding | undefined>
Defined in: packages/core/src/edge/sessionBinding.ts:260Delete a specific binding; returns the removed binding, if any.

Parameters

key
SessionBindingKey

Returns

Promise<SessionTargetBinding | undefined>

Implementation of

SessionBindingStore.delete

deleteSession()

deleteSession(sessionId): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:272Delete every binding for a session; returns the removed bindings.

Parameters

sessionId
string

Returns

Promise<readonly SessionTargetBinding[]>

Implementation of

SessionBindingStore.deleteSession

deleteTarget()

deleteTarget(targetName): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:288Delete every binding for a target; returns the removed bindings.

Parameters

targetName
string

Returns

Promise<readonly SessionTargetBinding[]>

Implementation of

SessionBindingStore.deleteTarget

get()

get(key): Promise<SessionTargetBinding | undefined>
Defined in: packages/core/src/edge/sessionBinding.ts:238Read a live binding, refreshing its idle timer. Returns undefined when the binding is missing or has expired (expired bindings are removed).

Parameters

key
SessionBindingKey

Returns

Promise<SessionTargetBinding | undefined>

Implementation of

SessionBindingStore.get

listBySession()

listBySession(sessionId): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:333List all live bindings for a session.

Parameters

sessionId
string

Returns

Promise<readonly SessionTargetBinding[]>

Implementation of

SessionBindingStore.listBySession

purgeExpired()

purgeExpired(): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:304Remove and return all expired bindings.

Returns

Promise<readonly SessionTargetBinding[]>

Implementation of

SessionBindingStore.purgeExpired

size()

size(): Promise<number>
Defined in: packages/core/src/edge/sessionBinding.ts:350Number of live bindings currently stored.

Returns

Promise<number>

Implementation of

SessionBindingStore.size

store()

store(key, value): Promise<SessionTargetBinding>
Defined in: packages/core/src/edge/sessionBinding.ts:197Atomically store a new binding. Idempotent when the same node replays an equal-or-lower generation. Throws EDGE_UNAVAILABLE when an existing live binding is pinned to a different edge node (silent takeover is rejected).

Parameters

key
SessionBindingKey
value
SessionBindingInput

Returns

Promise<SessionTargetBinding>

Implementation of

SessionBindingStore.store
@fentaris/core / InProcessIsolationDefined in: packages/core/src/isolation/isolation.ts:14In-process per-user isolation runtime.

Implements

  • Isolation

Constructors

Constructor

new InProcessIsolation(options?): InProcessIsolation
Defined in: packages/core/src/isolation/isolation.ts:23Create an in-process isolation runtime.

Parameters

options?
maxConcurrency?
number

Returns

InProcessIsolation

Methods

close()

close(): void
Defined in: packages/core/src/isolation/isolation.ts:47

Returns

void

Implementation of

Isolation.close

queue()

queue(userId, fn, timeout?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/isolation/isolation.ts:30

Parameters

userId
string
fn
() => MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
timeout?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

Isolation.queue
@fentaris/core / IntegratedEdgeAuthServicesDefined in: packages/core/src/edge/integratedAuthServices.ts:86Local-mode composition of device authorization, tokens, approval, enrollment, and revocation against the protected authority store.

Implements

  • EdgeDeviceAuthorizationService
  • EdgeTokenIssuanceService
  • EdgeApprovalService
  • EdgeEnrollmentService

Constructors

Constructor

new IntegratedEdgeAuthServices(options): IntegratedEdgeAuthServices
Defined in: packages/core/src/edge/integratedAuthServices.ts:101

Parameters

options
IntegratedAuthServicesOptions

Returns

IntegratedEdgeAuthServices

Methods

approve()

approve(userCode, decision): Promise<EdgeAuthorizationSession>
Defined in: packages/core/src/edge/integratedAuthServices.ts:195

Parameters

userCode
string
decision
EdgeDeviceApprovalDecision

Returns

Promise<EdgeAuthorizationSession>

Implementation of

EdgeApprovalService.approve

authenticateHello()

authenticateHello(proof): Promise<EdgeAuthenticatedHelloResult>
Defined in: packages/core/src/edge/integratedAuthServices.ts:393

Parameters

proof
EdgeAuthenticatedHelloProof

Returns

Promise<EdgeAuthenticatedHelloResult>

Implementation of

EdgeEnrollmentService.authenticateHello

begin()

begin(request): Promise<EdgeDeviceAuthorizeResponse>
Defined in: packages/core/src/edge/integratedAuthServices.ts:107

Parameters

request
EdgeDeviceAuthorizeRequest

Returns

Promise<EdgeDeviceAuthorizeResponse>

Implementation of

EdgeDeviceAuthorizationService.begin

confidentialErrorBody()

confidentialErrorBody(code, description?): EdgeControlPlaneErrorBody
Defined in: packages/core/src/edge/integratedAuthServices.ts:426

Parameters

code
"revoked" | "invalid_request" | "unauthorized" | "authorization_pending" | "slow_down" | "access_denied" | "expired_token" | "invalid_grant" | "rate_limited" | "payload_too_large" | "server_error"
description?
string

Returns

EdgeControlPlaneErrorBody

deny()

deny(userCode, decision): Promise<EdgeAuthorizationSession>
Defined in: packages/core/src/edge/integratedAuthServices.ts:219

Parameters

userCode
string
decision
Omit<EdgeDeviceApprovalDecision, "subjectId"> & object

Returns

Promise<EdgeAuthorizationSession>

Implementation of

EdgeApprovalService.deny

enroll()

enroll(request): Promise<EdgeEnrollResponse>
Defined in: packages/core/src/edge/integratedAuthServices.ts:308

Parameters

request
EdgeEnrollRequest

Returns

Promise<EdgeEnrollResponse>

Implementation of

EdgeEnrollmentService.enroll

getPendingByUserCode()

getPendingByUserCode(userCode): Promise<EdgeAuthorizationSession | undefined>
Defined in: packages/core/src/edge/integratedAuthServices.ts:187

Parameters

userCode
string

Returns

Promise<EdgeAuthorizationSession | undefined>

Implementation of

EdgeDeviceAuthorizationService.getPendingByUserCode

inspectAccessToken()

inspectAccessToken(accessToken): Promise<{ deviceCodeHash: string; expiresAt: number; subjectId: string; tenantId: string; } | undefined>
Defined in: packages/core/src/edge/integratedAuthServices.ts:289

Parameters

accessToken
string

Returns

Promise<{ deviceCodeHash: string; expiresAt: number; subjectId: string; tenantId: string; } | undefined>

Implementation of

EdgeTokenIssuanceService.inspectAccessToken

issueForApprovedSession()

issueForApprovedSession(session): Promise<EdgeControlPlaneTokenResponse>
Defined in: packages/core/src/edge/integratedAuthServices.ts:241

Parameters

session
EdgeAuthorizationSession

Returns

Promise<EdgeControlPlaneTokenResponse>

Implementation of

EdgeTokenIssuanceService.issueForApprovedSession

poll()

poll(request): Promise<{ interval?: number; status: "pending" | "slow-down"; } | { status: "authorized"; tokens: EdgeControlPlaneTokenResponse; } | { status: "denied" | "expired"; }>
Defined in: packages/core/src/edge/integratedAuthServices.ts:141

Parameters

request
EdgeDeviceTokenRequest

Returns

Promise<{ interval?: number; status: "pending" | "slow-down"; } | { status: "authorized"; tokens: EdgeControlPlaneTokenResponse; } | { status: "denied" | "expired"; }>

Implementation of

EdgeDeviceAuthorizationService.poll

refresh()

refresh(request): Promise<EdgeControlPlaneTokenResponse>
Defined in: packages/core/src/edge/integratedAuthServices.ts:253

Parameters

request
EdgeTokenRefreshRequest

Returns

Promise<EdgeControlPlaneTokenResponse>

Implementation of

EdgeTokenIssuanceService.refresh

revoke()

revoke(request, accessToken): Promise<void>
Defined in: packages/core/src/edge/integratedAuthServices.ts:373

Parameters

request
EdgeRevokeRequest
accessToken
string

Returns

Promise<void>

Implementation of

EdgeEnrollmentService.revoke

revokeDeviceTokens()

revokeDeviceTokens(tenantId, edgeNodeId): Promise<void>
Defined in: packages/core/src/edge/integratedAuthServices.ts:280

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<void>

Implementation of

EdgeTokenIssuanceService.revokeDeviceTokens
@fentaris/core / IntegratedEdgeDeviceResolverDefined in: packages/core/src/edge/integratedReconciliation.ts:361Device resolver backed by authenticated inventory, presence and desired state.

Implements

  • DeviceResolver

Constructors

Constructor

new IntegratedEdgeDeviceResolver(options): IntegratedEdgeDeviceResolver
Defined in: packages/core/src/edge/integratedReconciliation.ts:362

Parameters

options
desired
EdgeDesiredStateStore
devices
EdgeDeviceRegistry
presence
EdgePresenceStore
readiness
EdgeReadinessStore

Returns

IntegratedEdgeDeviceResolver

Methods

resolveNamedAlias()

resolveNamedAlias(alias, context): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/integratedReconciliation.ts:380Resolve a control-plane named alias to a device.

Parameters

alias
string
context
DeviceResolverContext

Returns

Promise<DeviceResolution | null>

Implementation of

DeviceResolver.resolveNamedAlias

resolvePool()

resolvePool(pool, strategy, context): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/integratedReconciliation.ts:386Resolve one eligible device from a shared pool using strategy.

Parameters

pool
string
strategy
TargetSelectionStrategy | undefined
context
DeviceResolverContext

Returns

Promise<DeviceResolution | null>

Implementation of

DeviceResolver.resolvePool

resolveSessionDevice()

resolveSessionDevice(context): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/integratedReconciliation.ts:369Resolve the device requested during downstream session establishment.

Parameters

context
DeviceResolverContext

Returns

Promise<DeviceResolution | null>

Implementation of

DeviceResolver.resolveSessionDevice

resolveUserDefaultDevice()

resolveUserDefaultDevice(context): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/integratedReconciliation.ts:375Resolve the subject’s configured default device.

Parameters

context
DeviceResolverContext

Returns

Promise<DeviceResolution | null>

Implementation of

DeviceResolver.resolveUserDefaultDevice
@fentaris/core / IntegratedEdgeGatewayBridgeDefined in: packages/core/src/edge/integratedBridge.ts:36Bridges authenticated gateway state into reconciliation, discovery and dispatch.

Implements

  • EdgeGatewayEventSink
  • EdgeGatewayAuthorizer

Constructors

Constructor

new IntegratedEdgeGatewayBridge(options): IntegratedEdgeGatewayBridge
Defined in: packages/core/src/edge/integratedBridge.ts:37

Parameters

options
IntegratedEdgeBridgeOptions

Returns

IntegratedEdgeGatewayBridge

Methods

authorize()

authorize(input): Promise<boolean>
Defined in: packages/core/src/edge/integratedBridge.ts:114

Parameters

input
EdgeGatewayAuthorization

Returns

Promise<boolean>

Implementation of

EdgeGatewayAuthorizer.authorize

connected()

connected(connection): Promise<void>
Defined in: packages/core/src/edge/integratedBridge.ts:39

Parameters

connection
EdgeConnectionRecord

Returns

Promise<void>

Implementation of

EdgeGatewayEventSink.connected

desiredAcknowledged()

desiredAcknowledged(message): Promise<void>
Defined in: packages/core/src/edge/integratedBridge.ts:52

Parameters

message
EdgeDesiredStateAckMessage

Returns

Promise<void>

Implementation of

EdgeGatewayEventSink.desiredAcknowledged

disconnected()

disconnected(connection): Promise<void>
Defined in: packages/core/src/edge/integratedBridge.ts:48

Parameters

connection
EdgeConnectionRecord

Returns

Promise<void>

Implementation of

EdgeGatewayEventSink.disconnected

installationChanged()

installationChanged(message): Promise<void>
Defined in: packages/core/src/edge/integratedBridge.ts:106

Parameters

message
EdgeInstallationStatusMessage

Returns

Promise<void>

Implementation of

EdgeGatewayEventSink.installationChanged

manifestChanged()

manifestChanged(message): Promise<void>
Defined in: packages/core/src/edge/integratedBridge.ts:77

Parameters

message
EdgeCapabilityManifestMessage

Returns

Promise<void>

Implementation of

EdgeGatewayEventSink.manifestChanged

presenceChanged()

presenceChanged(message): Promise<void>
Defined in: packages/core/src/edge/integratedBridge.ts:94

Parameters

message
EdgePresenceReportMessage

Returns

Promise<void>

Implementation of

EdgeGatewayEventSink.presenceChanged

setupChanged()

setupChanged(message): Promise<void>
Defined in: packages/core/src/edge/integratedBridge.ts:60

Parameters

message
EdgeSetupStatusMessage

Returns

Promise<void>

Implementation of

EdgeGatewayEventSink.setupChanged
@fentaris/core / IntegratedEdgeReconcilerDefined in: packages/core/src/edge/integratedReconciliation.ts:201Per-device serialized desired-state reconciliation with durable CAS.

Implements

  • EdgeReconciliationTriggerService

Constructors

Constructor

new IntegratedEdgeReconciler(options): IntegratedEdgeReconciler
Defined in: packages/core/src/edge/integratedReconciliation.ts:207

Parameters

options
IntegratedEdgeReconcilerOptions

Returns

IntegratedEdgeReconciler

Methods

drain()

drain(): Promise<void>
Defined in: packages/core/src/edge/integratedReconciliation.ts:248

Returns

Promise<void>

enqueue()

enqueue(input): Promise<void>
Defined in: packages/core/src/edge/integratedReconciliation.ts:211

Parameters

input
edgeNodeId
string
tenantId
string
trigger
EdgeReconciliationTrigger

Returns

Promise<void>

Implementation of

EdgeReconciliationTriggerService.enqueue

reconcileAll()

reconcileAll(trigger?): Promise<void>
Defined in: packages/core/src/edge/integratedReconciliation.ts:227

Parameters

trigger?
EdgeReconciliationTrigger = "application-start"

Returns

Promise<void>

reconcileNow()

reconcileNow(input): Promise<EdgeDesiredAssignmentSnapshot | undefined>
Defined in: packages/core/src/edge/integratedReconciliation.ts:219

Parameters

input
edgeNodeId
string
tenantId
string
trigger
EdgeReconciliationTrigger

Returns

Promise<EdgeDesiredAssignmentSnapshot | undefined>

Implementation of

EdgeReconciliationTriggerService.reconcileNow

stopAccepting()

stopAccepting(): void
Defined in: packages/core/src/edge/integratedReconciliation.ts:244

Returns

void

withheld()

withheld(tenantId, edgeNodeId): readonly EdgeDeploymentCatalogDiagnostic[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:240

Parameters

tenantId
string
edgeNodeId
string

Returns

readonly EdgeDeploymentCatalogDiagnostic[]
@fentaris/core / JsonConsoleLoggerDriverDefined in: packages/core/src/logging/logger.ts:104Console driver that writes one JSON log entry per line.

Implements

  • LoggerDriver

Constructors

Constructor

new JsonConsoleLoggerDriver(options?): JsonConsoleLoggerDriver
Defined in: packages/core/src/logging/logger.ts:111Create a JSON console logger driver.

Parameters

options?
JsonConsoleLoggerDriverOptions = {}

Returns

JsonConsoleLoggerDriver

Methods

write()

write(entry): void
Defined in: packages/core/src/logging/logger.ts:119Write the log entry as a single JSON line.

Parameters

entry
LogEntry

Returns

void

Implementation of

LoggerDriver.write
@fentaris/core / LocalEdgeDesiredAssignmentStoreDefined in: packages/core/src/edge/integratedReconciliation.ts:340Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Implements

  • EdgeDesiredAssignmentStore

Constructors

Constructor

new LocalEdgeDesiredAssignmentStore(store): LocalEdgeDesiredAssignmentStore
Defined in: packages/core/src/edge/integratedReconciliation.ts:341

Parameters

store
putDesiredAssignment
removeDesiredAssignment
snapshot

Returns

LocalEdgeDesiredAssignmentStore

Methods

compareAndSwap()

compareAndSwap(snapshot, expectedVersion): Promise<"unchanged" | "updated" | "conflict">
Defined in: packages/core/src/edge/integratedReconciliation.ts:351

Parameters

snapshot
EdgeDesiredAssignmentSnapshot
expectedVersion
number | undefined

Returns

Promise<"unchanged" | "updated" | "conflict">

Implementation of

EdgeDesiredAssignmentStore.compareAndSwap

get()

get(tenantId, edgeNodeId): Promise<EdgeDesiredAssignmentSnapshot | undefined>
Defined in: packages/core/src/edge/integratedReconciliation.ts:347

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeDesiredAssignmentSnapshot | undefined>

Implementation of

EdgeDesiredAssignmentStore.get

remove()

remove(tenantId, edgeNodeId): Promise<void>
Defined in: packages/core/src/edge/integratedReconciliation.ts:355

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<void>

Implementation of

EdgeDesiredAssignmentStore.remove
@fentaris/core / LocalSecretsBackendDefined in: packages/core/src/secrets/local-backend.ts:18Local encrypted secrets backend backed by credentials.enc.json.

Implements

  • SecretsBackend

Constructors

Constructor

new LocalSecretsBackend(options): LocalSecretsBackend
Defined in: packages/core/src/secrets/local-backend.ts:24

Parameters

options
LocalSecretsBackendOptions

Returns

LocalSecretsBackend

Properties

provider

readonly provider: "local"
Defined in: packages/core/src/secrets/local-backend.ts:19

Implementation of

SecretsBackend.provider

Methods

addUserApiKey()

addUserApiKey(userId, apiKey): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:81Add a hashed API key for a local user identity.

Parameters

userId
string
apiKey
string

Returns

Promise<boolean>

credentialsExist()

credentialsExist(): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:157

Returns

Promise<boolean>

has()

has(ref, scope): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:47

Parameters

ref
string
scope
SecretScope

Returns

Promise<boolean>

Implementation of

SecretsBackend.has

initEmpty()

initEmpty(): Promise<void>
Defined in: packages/core/src/secrets/local-backend.ts:153

Returns

Promise<void>

listRefs()

listRefs(): Promise<SecretRef[]>
Defined in: packages/core/src/secrets/local-backend.ts:39

Returns

Promise<SecretRef[]>

Implementation of

SecretsBackend.listRefs

removeUserApiKey()

removeUserApiKey(userId, apiKey): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:99Remove a local user API key by matching its raw value.

Parameters

userId
string
apiKey
string

Returns

Promise<boolean>

set()

set(ref, value, scope): Promise<void>
Defined in: packages/core/src/secrets/local-backend.ts:61

Parameters

ref
string
value
string
scope
SecretScope

Returns

Promise<void>

Implementation of

SecretsBackend.set

unset()

unset(ref, scope): Promise<boolean>
Defined in: packages/core/src/secrets/local-backend.ts:120

Parameters

ref
string
scope
SecretScope

Returns

Promise<boolean>

Implementation of

SecretsBackend.unset

open()

static open(options): Promise<LocalSecretsBackend>
Defined in: packages/core/src/secrets/local-backend.ts:34Create a backend when the encrypted store may not exist yet.

Parameters

options
LocalSecretsBackendOptions

Returns

Promise<LocalSecretsBackend>
@fentaris/core / LoggerDefined in: packages/core/src/logging/logger.ts:191Structured logger with level filtering.

Constructors

Constructor

new Logger(options?): Logger
Defined in: packages/core/src/logging/logger.ts:204Create a new logger instance.

Parameters

options?
LoggerOptions = {}

Returns

Logger

Methods

annotate()

annotate(key, value): this
Defined in: packages/core/src/logging/logger.ts:236Add mutable metadata that will be included in future log writes.

Parameters

key
string
value
unknown

Returns

this

child()

child(context): Logger
Defined in: packages/core/src/logging/logger.ts:217Create a child logger with merged context.

Parameters

context
Record<string, unknown>

Returns

Logger

debug()

debug(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:254Emit a debug log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

error()

error(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:278Emit an error log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

fatal()

fatal(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:286Emit a fatal log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

info()

info(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:262Emit an info log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

setTag()

setTag(key, value): this
Defined in: packages/core/src/logging/logger.ts:245Add a tag to future log writes.

Parameters

key
string
value
unknown

Returns

this

warn()

warn(message, metadata?): void
Defined in: packages/core/src/logging/logger.ts:270Emit a warning log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void
@fentaris/core / McpProxyDefined in: packages/core/src/proxy/McpProxy.ts:405HTTP proxy for multiple MCP servers.

Constructors

Constructor

new McpProxy(options?): McpProxy
Defined in: packages/core/src/proxy/McpProxy.ts:463Create a new MCP proxy instance.

Parameters

options?
McpProxyOptions = {}

Returns

McpProxy

Methods

addGroupUsers()

addGroupUsers(groupId, users): void
Defined in: packages/core/src/proxy/McpProxy.ts:2657

Parameters

groupId
string
users
User[]

Returns

void

assertGroupHandleKnown()

assertGroupHandleKnown(groupId): void
Defined in: packages/core/src/proxy/McpProxy.ts:2697

Parameters

groupId
string

Returns

void

assertServerHandleVisible()

assertServerHandleVisible(serverName, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2669

Parameters

serverName
string
groupId?
string

Returns

void

callTool()

callTool(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1877Call a proxied tool with middleware dispatch.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

close()

close(): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1639Close the HTTP server and all backends.

Returns

Promise<void>

complete()

complete(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2421Complete a proxied prompt or resource-template argument.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

edgeSessionPinner()

edgeSessionPinner(): EdgeSessionPinner | undefined
Defined in: packages/core/src/proxy/McpProxy.ts:854Lazily build (and cache) the edge session pinner over the registered targets, normalized bindings, and configured device resolver. Returns undefined when no device resolver is configured (cloud-only runtime).

Returns

EdgeSessionPinner | undefined

emitSessionEnd()

emitSessionEnd(context): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:2538Emit a downstream session end lifecycle event.

Parameters

context
LifecycleHookContext

Returns

Promise<void>

emitSessionStart()

emitSessionStart(context): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:2500Emit a downstream session start lifecycle event.

Parameters

context
LifecycleHookContext

Returns

Promise<void>

endEdgeSession()

endEdgeSession(sessionId): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1050Remove every session-target binding for a downstream session.

Parameters

sessionId
string

Returns

Promise<void>

getPrompt()

getPrompt(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2366Get a proxied prompt from its owning upstream server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

group()

group(groupId): ProxyGroupHandle
Defined in: packages/core/src/proxy/McpProxy.ts:732Register or retrieve a scoped group handle.

Parameters

groupId
string

Returns

ProxyGroupHandle

health()

health(): Promise<HealthReport>
Defined in: packages/core/src/proxy/McpProxy.ts:1693Run configured runtime health checks.

Returns

Promise<HealthReport>

listen()

listen<THandle>(transport): Promise<THandle>
Defined in: packages/core/src/proxy/McpProxy.ts:1350Start the proxy with an explicit downstream exposure transport.

Type Parameters

THandle
THandle extends ProxyExposureHandle

Parameters

transport
ProxyExposureTransport<THandle>

Returns

Promise<THandle>

listPrompts()

listPrompts(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2301List prompts across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

listResources()

listResources(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2096List resources across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

listResourceTemplates()

listResourceTemplates(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2230List resource templates across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

listTools()

listTools(params?, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1767List tools across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

local()

local(name): ProxyLocalHandle
Defined in: packages/core/src/proxy/McpProxy.ts:712Register or retrieve a named local MCP capability namespace.

Parameters

name
string

Returns

ProxyLocalHandle

mcp()

Call Signature

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:641Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
Returns
ProxyMcpHandle

Call Signature

mcp(name, options): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:642Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
options
ProxyMcpDeclarationOptions
Returns
ProxyMcpHandle

Call Signature

mcp(name, server): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:643Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
server
McpServer
Returns
ProxyMcpHandle

Call Signature

mcp(config): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:644Register or retrieve a scoped upstream MCP handle.
Parameters
config
McpServerOptions
Returns
ProxyMcpHandle

mcpHealth()

mcpHealth(name): Promise<HealthCheckResult>
Defined in: packages/core/src/proxy/McpProxy.ts:1758Check a configured upstream MCP server health.

Parameters

name
string

Returns

Promise<HealthCheckResult>

on()

Call Signature

on(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1178Register an event hook.
Parameters
event
"call"
handler
ToolCallHook
Returns
this

Call Signature

on(event, filter, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1183Register a filtered event hook.
Parameters
event
"call"
filter
ToolCallHookFilter
handler
ToolCallHook
Returns
this

Call Signature

on(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1188Register a unified proxy event handler.
Parameters
event
ProxyEventName
handler
ProxyEventHandler
Returns
this

Call Signature

on(event, filter, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1193Register a filtered unified proxy event handler.
Parameters
event
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
this

onLifecycle()

onLifecycle(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1227Register a lifecycle hook.

Parameters

event
LifecycleHookEvent
handler
LifecycleHook

Returns

this

onListTools()

onListTools(hook): this
Defined in: packages/core/src/proxy/McpProxy.ts:1242Register a hook that can transform listed tools.

Parameters

hook
ListToolsHook

Returns

this

operation()

operation(operation, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:589Register a global operation route for governed non-tool operations.

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

this

pingMcp()

pingMcp(name): Promise<HealthCheckResult>
Defined in: packages/core/src/proxy/McpProxy.ts:1749Ping a configured upstream MCP server by listing tools.

Parameters

name
string

Returns

Promise<HealthCheckResult>

pinSessionTarget()

pinSessionTarget(request): Promise<SessionPinResult>
Defined in: packages/core/src/proxy/McpProxy.ts:882Lazily resolve and pin a downstream session to one eligible edge device per logical target before the first edge-dependent operation. Cloud targets return without pinning. Throws normalized edge errors.

Parameters

request
SessionPinRequest

Returns

Promise<SessionPinResult>

placementResolver()

placementResolver(): PlacementResolver
Defined in: packages/core/src/proxy/McpProxy.ts:829Build a PlacementResolver over the registered targets and normalized placement bindings. The resolver never grants capability access; callers must have already established server-catalog visibility and policy authorization before relying on its result.

Returns

PlacementResolver

policy()

policy(name): Policy
Defined in: packages/core/src/proxy/McpProxy.ts:598Register or retrieve a named app-level policy declaration.

Parameters

name
string

Returns

Policy

readResource()

readResource(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2167Read a proxied resource from its owning upstream server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

ready()

ready(options?): Promise<RuntimeLifecycleSnapshot>
Defined in: packages/core/src/proxy/McpProxy.ts:1647Wait for the runtime to reach readiness.

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<RuntimeLifecycleSnapshot>

registerGroupEvent()

registerGroupEvent(groupId, eventName, filter, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:2645

Parameters

groupId
string
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler

Returns

void

registerGroupMiddleware()

registerGroupMiddleware(groupId, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:2635

Parameters

groupId
string
handler
Middleware

Returns

void

registerGroupOperation()

registerGroupOperation(groupId, operation, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:2640

Parameters

groupId
string
operation
ProxyOperation
handler
ProxyMiddleware

Returns

void

registerPlacementBinding()

registerPlacementBinding(binding): void
Defined in: packages/core/src/proxy/McpProxy.ts:1138Record a placement binding unless a conflicting one already exists.

Parameters

binding
PlacementBindingConfig

Returns

void

registerServerEvent()

registerServerEvent(serverName, eventName, filter, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2622

Parameters

serverName
string
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
groupId?
string

Returns

void

registerServerMiddleware()

registerServerMiddleware(serverName, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2607

Parameters

serverName
string
handler
Middleware
groupId?
string

Returns

void

registerServerOperation()

registerServerOperation(serverName, operation, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2617

Parameters

serverName
string
operation
ProxyOperation
handler
ProxyMiddleware
groupId?
string

Returns

void

registerServerSetup()

registerServerSetup(serverName, schema): void
Defined in: packages/core/src/proxy/McpProxy.ts:1121Register a setup schema for a server.

Parameters

serverName
string
schema
SetupSchema | Record<string, SetupFieldDescriptor>

Returns

void

registerServerTool()

registerServerTool(serverName, pattern, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2612

Parameters

serverName
string
pattern
string
handler
ProxyMiddleware
groupId?
string

Returns

void

resolveHttpUser()

resolveHttpUser(req): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2483Resolve user context from an HTTP downstream request.

Parameters

req
IncomingMessage

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolvePlacement()

resolvePlacement(request): PlacementResolution
Defined in: packages/core/src/proxy/McpProxy.ts:844Resolve a placement for an already-authorized request. Intended to be called at dispatch time, after server-catalog visibility and policy authorization have established that the subject may use the server. Throws EDGE_UNAUTHORIZED_TARGET for an ineligible explicit selection and EDGE_PLACEMENT_AMBIGUOUS for unresolved runtime group overlap.

Parameters

request
PlacementRequest

Returns

PlacementResolution

resolveStdioUser()

resolveStdioUser(): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2491Resolve user context for non-HTTP stdio downstream exposure.

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolveTarget()

resolveTarget(name): ExecutionTarget
Defined in: packages/core/src/proxy/McpProxy.ts:802Resolve a registered or built-in target by name.

Parameters

name
string

Returns

ExecutionTarget

server()

Call Signature

server(name): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:689Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
Returns
ProxyMcpHandle

Call Signature

server(name, options): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:690Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
options
ProxyMcpDeclarationOptions
Returns
ProxyMcpHandle

Call Signature

server(name, server): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:691Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
server
McpServer
Returns
ProxyMcpHandle

Call Signature

server(config): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:692Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
config
McpServerOptions
Returns
ProxyMcpHandle

setGroupPolicy()

setGroupPolicy(groupId, policy): void
Defined in: packages/core/src/proxy/McpProxy.ts:2663

Parameters

groupId
string
policy
string | PolicyContract

Returns

void

shutdownEdgeSessions()

shutdownEdgeSessions(): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1057Remove every session-target binding on runtime shutdown.

Returns

Promise<void>

start()

Call Signature

start(onStarted?): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>
Defined in: packages/core/src/proxy/McpProxy.ts:1251Start the HTTP server.
Parameters
onStarted?
() => void
Returns
Promise<Server<typeof IncomingMessage, typeof ServerResponse>>

Call Signature

start(options?, onStarted?): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>
Defined in: packages/core/src/proxy/McpProxy.ts:1256Start the HTTP server with optional overrides.
Parameters
options?
McpProxyStartOptions
onStarted?
() => void
Returns
Promise<Server<typeof IncomingMessage, typeof ServerResponse>>

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/proxy/McpProxy.ts:1685Inspect the current runtime lifecycle state.

Returns

RuntimeLifecycleSnapshot

stop()

stop(options?): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1655Stop the runtime and close owned resources.

Parameters

options?
McpProxyStopOptions = {}

Returns

Promise<void>

target()

target(name, target?): this
Defined in: packages/core/src/proxy/McpProxy.ts:744Register or retrieve a reusable named execution target. Target bindings describe where an MCP runs and never grant MCP capability access. The built-in cloud target always executes the configured transport on the Fentaris host and need not be registered.

Parameters

name
string
target?
ExecutionTarget

Returns

this

tool()

tool(pattern, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:580Register a global tool route with a public server.tool pattern.

Parameters

pattern
string
handler
ProxyMiddleware

Returns

this

use()

Call Signature

use(middleware): this
Defined in: packages/core/src/proxy/McpProxy.ts:568Register a middleware handler.
Parameters
middleware
ProxyMiddleware
Returns
this

Call Signature

use(middleware): this
Defined in: packages/core/src/proxy/McpProxy.ts:569Register a middleware handler.
Parameters
middleware
LegacyMiddleware
Returns
this

usePolicy()

usePolicy(policyNameOrPolicy): this
Defined in: packages/core/src/proxy/McpProxy.ts:614Apply a named or concrete policy as the global proxy policy.

Parameters

policyNameOrPolicy
string | PolicyContract

Returns

this

user()

user(userId): ProxyUserHandle
Defined in: packages/core/src/proxy/McpProxy.ts:1158Retrieve a user-scoped MCP handle. Records placement bindings without creating or authenticating a subject.

Parameters

userId
string

Returns

ProxyUserHandle

validateEdgeConfiguration()

validateEdgeConfiguration(): FentarisDiagnostic[]
Defined in: packages/core/src/proxy/McpProxy.ts:1402Validate fluent and constructor-style target, setup, and placement declarations: unresolved user handles, missing targets, duplicate conflicting bindings, incompatible setup fields, undeclared runtime references, unused required fields, and unsafe secret defaults. Target bindings never grant MCP capability access.

Returns

FentarisDiagnostic[]
@fentaris/core / McpServerDefined in: packages/core/src/server/McpServer.ts:86MCP server wrapper with optional per-user env injection.

Constructors

Constructor

new McpServer(options): McpServer
Defined in: packages/core/src/server/McpServer.ts:102Create a new MCP server wrapper.

Parameters

options
McpServerOptions

Returns

McpServer

Properties

displayName

readonly displayName: string
Defined in: packages/core/src/server/McpServer.ts:88

name

readonly name: string
Defined in: packages/core/src/server/McpServer.ts:87

transport

readonly transport: FentarisTransport
Defined in: packages/core/src/server/McpServer.ts:91The transport backing this server; exposed for edge recipe/validation.

Methods

callTool()

callTool(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/server/McpServer.ts:126Call a tool for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

close()

close(): Promise<void>
Defined in: packages/core/src/server/McpServer.ts:265Close all transports.

Returns

Promise<void>

complete()

complete(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/server/McpServer.ts:215Complete a prompt or resource argument for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

getCredentialBindings()

getCredentialBindings(): ServerCredentialBinding[]
Defined in: packages/core/src/server/McpServer.ts:276Credential bindings declared with this server.

Returns

ServerCredentialBinding[]

getPrompt()

getPrompt(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:202Get a prompt for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

listPrompts()

listPrompts(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:189List prompts for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

listResources()

listResources(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:147List resources for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

listResourceTemplates()

listResourceTemplates(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:173List resource templates for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

listTools()

listTools(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:118List tools for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

readResource()

readResource(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/server/McpServer.ts:160Read a resource for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

supportsCompletions()

supportsCompletions(): boolean
Defined in: packages/core/src/server/McpServer.ts:257Whether the configured transport exposes completion operations.

Returns

boolean

supportsPrompts()

supportsPrompts(): boolean
Defined in: packages/core/src/server/McpServer.ts:249Whether the configured transport exposes prompt operations.

Returns

boolean

supportsResources()

supportsResources(): boolean
Defined in: packages/core/src/server/McpServer.ts:241Whether the configured transport exposes resource operations.

Returns

boolean

withProxyContext()

withProxyContext<T>(context, run): Promise<T>
Defined in: packages/core/src/server/McpServer.ts:228Run a server operation with a governed proxy context when the transport supports it.

Type Parameters

T
T

Parameters

context
ProxyContext
run
() => Promise<T>

Returns

Promise<T>
@fentaris/core / MemoryRateLimitStoreDefined in: packages/core/src/rate-limit/rateLimit.ts:21In-memory rate limit store with expiring buckets.

Implements

  • RateLimitStore

Constructors

Constructor

new MemoryRateLimitStore(): MemoryRateLimitStore

Returns

MemoryRateLimitStore

Methods

consume()

consume(key, window, limit): Promise<boolean>
Defined in: packages/core/src/rate-limit/rateLimit.ts:36

Parameters

key
string
window
number
limit
number

Returns

Promise<boolean>

Implementation of

RateLimitStore.consume

consumeMany()

consumeMany(limits): Promise<boolean>
Defined in: packages/core/src/rate-limit/rateLimit.ts:56

Parameters

limits
RateLimitBucket[]

Returns

Promise<boolean>

Implementation of

RateLimitStore.consumeMany

get()

get(key): Promise<number>
Defined in: packages/core/src/rate-limit/rateLimit.ts:82

Parameters

key
string

Returns

Promise<number>

Implementation of

RateLimitStore.get

increment()

increment(key, window): Promise<number>
Defined in: packages/core/src/rate-limit/rateLimit.ts:24

Parameters

key
string
window
number

Returns

Promise<number>

Implementation of

RateLimitStore.increment

reset()

reset(key): Promise<void>
Defined in: packages/core/src/rate-limit/rateLimit.ts:86

Parameters

key
string

Returns

Promise<void>

Implementation of

RateLimitStore.reset
@fentaris/core / MemoryRegistryDefined in: packages/core/src/registry/registry.ts:26Development registry backed by in-memory maps.

Implements

  • Registry

Constructors

Constructor

new MemoryRegistry(options?): MemoryRegistry
Defined in: packages/core/src/registry/registry.ts:35Create an in-memory registry.

Parameters

options?
secrets?
Record<string, Record<string, string>>
tokens?
Record<string, Record<string, string>>
users?
Record<string, UserContext>

Returns

MemoryRegistry

Methods

getSecrets()

getSecrets(userId): Promise<Record<string, string> | null>
Defined in: packages/core/src/registry/registry.ts:84

Parameters

userId
string

Returns

Promise<Record<string, string> | null>

Implementation of

Registry.getSecrets

getTokens()

getTokens(userId): Promise<Record<string, string> | null>
Defined in: packages/core/src/registry/registry.ts:88

Parameters

userId
string

Returns

Promise<Record<string, string> | null>

Implementation of

Registry.getTokens

getUser()

getUser(userId): Promise<UserContext | null>
Defined in: packages/core/src/registry/registry.ts:80

Parameters

userId
string

Returns

Promise<UserContext | null>

Implementation of

Registry.getUser

setSecrets()

setSecrets(userId, secrets): this
Defined in: packages/core/src/registry/registry.ts:66Store or replace user secrets.

Parameters

userId
string
secrets
Record<string, string>

Returns

this

setTokens()

setTokens(userId, tokens): this
Defined in: packages/core/src/registry/registry.ts:75Store or replace user tokens.

Parameters

userId
string
tokens
Record<string, string>

Returns

this

setUser()

setUser(userId, user): this
Defined in: packages/core/src/registry/registry.ts:57Store or replace a user record.

Parameters

userId
string
user
UserContext

Returns

this
@fentaris/core / MissingHttpTransportCredentialErrorDefined in: packages/core/src/transports/auth/transportAuth.ts:44Error thrown before an upstream HTTP-family request when required credentials are missing.

Extends

  • Error

Constructors

Constructor

new MissingHttpTransportCredentialError(message?): MissingHttpTransportCredentialError
Defined in: packages/core/src/transports/auth/transportAuth.ts:47

Parameters

message?
string = "Missing required upstream HTTP transport credentials"

Returns

MissingHttpTransportCredentialError

Overrides

Error.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause

code

readonly code: -32040 = FentarisErrorCode.Unauthorized
Defined in: packages/core/src/transports/auth/transportAuth.ts:45

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

Error.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

Error.name

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.stack

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

Error.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace
@fentaris/core / PlacementResolverDefined in: packages/core/src/edge/placement.ts:103A resolver that turns bindings and targets into a placement decision.

Constructors

Constructor

new PlacementResolver(inputs): PlacementResolver
Defined in: packages/core/src/edge/placement.ts:107

Parameters

inputs
PlacementResolverInputs

Returns

PlacementResolver

Methods

eligibleTargets()

eligibleTargets(request): Set<string>
Defined in: packages/core/src/edge/placement.ts:157Target names a subject is eligible to select from explicitly (user, group when unambiguous, and global). The implicit cloud target is always eligible because it never requires a binding.

Parameters

request
PlacementRequest

Returns

Set<string>

resolve()

resolve(request): PlacementResolution
Defined in: packages/core/src/edge/placement.ts:121Resolve the placement for a server and subject.

Parameters

request
PlacementRequest

Returns

PlacementResolution

Throws

EDGE_UNAUTHORIZED_TARGET when an explicit session target is not among the subject’s eligible bindings.

Throws

EDGE_PLACEMENT_AMBIGUOUS when matching group bindings select different equally specific targets.
@fentaris/core / PolicyDefined in: packages/core/src/governance/governance.ts:97Fluent policy declaration.

Implements

  • PolicyContract

Constructors

Constructor

new Policy(options): Policy
Defined in: packages/core/src/governance/governance.ts:104

Parameters

options
description?
string
metadata?
{[key: string]: unknown; maxDailyCalls?: number; requiresApproval?: boolean; }
metadata.maxDailyCalls?
number
metadata.requiresApproval?
boolean
name
string

Returns

Policy

Properties

description?

readonly optional description?: string
Defined in: packages/core/src/governance/governance.ts:99

Implementation of

PolicyContract.description

metadata?

readonly optional metadata?: object
Defined in: packages/core/src/governance/governance.ts:100

Index Signature

[key: string]: unknown

maxDailyCalls?

optional maxDailyCalls?: number

requiresApproval?

optional requiresApproval?: boolean

Implementation of

PolicyContract.metadata

name

readonly name: string
Defined in: packages/core/src/governance/governance.ts:98

Implementation of

PolicyContract.name

Methods

allow()

allow(serverName, toolName, options?): this
Defined in: packages/core/src/governance/governance.ts:134Add an allow permission.

Parameters

serverName
string
toolName
string
options?
ToolPermissionOptions = {}

Returns

this

allowCapability()

allowCapability(serverName, permission): this
Defined in: packages/core/src/governance/governance.ts:150Add an allow permission for any governed MCP operation.

Parameters

serverName
string
permission
CapabilityPermissionOptions

Returns

this

deny()

deny(serverName, toolName, options?): this
Defined in: packages/core/src/governance/governance.ts:142Add a deny permission.

Parameters

serverName
string
toolName
string
options?
ToolPermissionOptions = {}

Returns

this

denyCapability()

denyCapability(serverName, permission): this
Defined in: packages/core/src/governance/governance.ts:158Add a deny permission for any governed MCP operation.

Parameters

serverName
string
permission
CapabilityPermissionOptions

Returns

this

evaluate()

evaluate(request, user, context?): Promise<PolicyDecision>
Defined in: packages/core/src/governance/governance.ts:197

Parameters

request
ToolCallRequest | CapabilityOperationRequest
user
UserContext
context?
MiddlewareContext

Returns

Promise<PolicyDecision>

Implementation of

PolicyContract.evaluate

getCapabilityPermissions()

getCapabilityPermissions(serverName): CapabilityPermission[]
Defined in: packages/core/src/governance/governance.ts:169

Parameters

serverName
string

Returns

CapabilityPermission[]

Implementation of

PolicyContract.getCapabilityPermissions

getDeclaredPermissions()

getDeclaredPermissions(): object[]
Defined in: packages/core/src/governance/governance.ts:189Return policy declarations for static configuration validation.

Returns

object[]

getDeclaredServerNames()

getDeclaredServerNames(): string[]
Defined in: packages/core/src/governance/governance.ts:181Return the server names explicitly declared by this policy.

Returns

string[]

getPermissions()

getPermissions(serverName): ToolPermission[]
Defined in: packages/core/src/governance/governance.ts:162

Parameters

serverName
string

Returns

ToolPermission[]

Implementation of

PolicyContract.getPermissions

mcp()

mcp(serverName): PolicyMcpBuilder
Defined in: packages/core/src/governance/governance.ts:126Select an upstream MCP server for fluent permission declarations.

Parameters

serverName
string

Returns

PolicyMcpBuilder

allowAll()

static allowAll(name?): Policy
Defined in: packages/core/src/governance/governance.ts:118Create an allow-all policy.

Parameters

name?
string = "allow-all"

Returns

Policy
@fentaris/core / PolicyMcpBuilderDefined in: packages/core/src/governance/governance.ts:292Builder returned by policy.mcp(name).

Constructors

Constructor

new PolicyMcpBuilder(policy, serverName): PolicyMcpBuilder
Defined in: packages/core/src/governance/governance.ts:293

Parameters

policy
Policy
serverName
string

Returns

PolicyMcpBuilder

Methods

allow()

allow(toolName, options?): Policy
Defined in: packages/core/src/governance/governance.ts:298

Parameters

toolName
string
options?
ToolPermissionOptions = {}

Returns

Policy

allowCapability()

allowCapability(permission): Policy
Defined in: packages/core/src/governance/governance.ts:306

Parameters

permission
CapabilityPermissionOptions

Returns

Policy

deny()

deny(toolName, options?): Policy
Defined in: packages/core/src/governance/governance.ts:302

Parameters

toolName
string
options?
ToolPermissionOptions = {}

Returns

Policy

denyCapability()

denyCapability(permission): Policy
Defined in: packages/core/src/governance/governance.ts:310

Parameters

permission
CapabilityPermissionOptions

Returns

Policy
@fentaris/core / RedisLoggerDriverDefined in: packages/core/src/logging/logger.ts:169Redis-backed logger driver that appends JSON log entries to a list.

Implements

  • LoggerDriver

Constructors

Constructor

new RedisLoggerDriver(options): RedisLoggerDriver
Defined in: packages/core/src/logging/logger.ts:177Create a Redis logger driver.

Parameters

options
RedisLoggerDriverOptions

Returns

RedisLoggerDriver

Methods

write()

write(entry): Promise<void>
Defined in: packages/core/src/logging/logger.ts:182

Parameters

entry
LogEntry

Returns

Promise<void>

Implementation of

LoggerDriver.write
@fentaris/core / RedisRegistryDefined in: packages/core/src/registry/registry.ts:101Redis-backed registry using JSON values.

Implements

  • Registry

Constructors

Constructor

new RedisRegistry(options): RedisRegistry
Defined in: packages/core/src/registry/registry.ts:109Create a Redis-backed registry.

Parameters

options
RedisRegistryOptions

Returns

RedisRegistry

Methods

getSecrets()

getSecrets(userId): Promise<Record<string, string> | null>
Defined in: packages/core/src/registry/registry.ts:142

Parameters

userId
string

Returns

Promise<Record<string, string> | null>

Implementation of

Registry.getSecrets

getTokens()

getTokens(userId): Promise<Record<string, string> | null>
Defined in: packages/core/src/registry/registry.ts:146

Parameters

userId
string

Returns

Promise<Record<string, string> | null>

Implementation of

Registry.getTokens

getUser()

getUser(userId): Promise<UserContext | null>
Defined in: packages/core/src/registry/registry.ts:138

Parameters

userId
string

Returns

Promise<UserContext | null>

Implementation of

Registry.getUser

setSecrets()

setSecrets(userId, secrets): Promise<void>
Defined in: packages/core/src/registry/registry.ts:126Store or replace user secrets.

Parameters

userId
string
secrets
Record<string, string>

Returns

Promise<void>

setTokens()

setTokens(userId, tokens): Promise<void>
Defined in: packages/core/src/registry/registry.ts:134Store or replace user tokens.

Parameters

userId
string
tokens
Record<string, string>

Returns

Promise<void>

setUser()

setUser(userId, user): Promise<void>
Defined in: packages/core/src/registry/registry.ts:118Store or replace a user record.

Parameters

userId
string
user
UserContext

Returns

Promise<void>
@fentaris/core / ResponseControllerDefined in: packages/core/src/types/middleware.ts:93Helper for returning allow/deny responses from middleware.

Constructors

Constructor

new ResponseController(): ResponseController

Returns

ResponseController

Methods

continue()

continue(): undefined
Defined in: packages/core/src/types/middleware.ts:128Allow middleware to continue without overriding the response.

Returns

undefined

deny()

deny(message): object
Defined in: packages/core/src/types/middleware.ts:102Deny a tool call with a message.

Parameters

message
string

Returns

object
_meta?
optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
content
content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]
isError?
optional isError?: boolean
structuredContent?
optional structuredContent?: object
Index Signature
[key: string]: unknown

fail()

fail(code, message): object
Defined in: packages/core/src/types/middleware.ts:113Return a structured MCP-style error without throwing.

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
content
content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]
isError?
optional isError?: boolean
structuredContent?
optional structuredContent?: object
Index Signature
[key: string]: unknown

injectToAgent()

injectToAgent(message): void
Defined in: packages/core/src/types/middleware.ts:136Add guidance for the calling agent to the eventual tool response.

Parameters

message
string

Returns

void

on()

on(event, handler): void
Defined in: packages/core/src/types/middleware.ts:146Register a response event handler.

Parameters

event
"error"
handler
(error) => MaybePromise<void>

Returns

void
@fentaris/core / RuntimeProfilerDefined in: packages/core/src/profiler/profiler.ts:168Runtime profiler, event, sink, and runtime error APIs.

Constructors

Constructor

new RuntimeProfiler(config): RuntimeProfiler
Defined in: packages/core/src/profiler/profiler.ts:169

Parameters

config
NormalizedRuntimeProfiler | null

Returns

RuntimeProfiler

Methods

emit()

emit(event): Promise<void>
Defined in: packages/core/src/profiler/profiler.ts:171

Parameters

event
RuntimeEvent

Returns

Promise<void>
@fentaris/core / SimplePolicyDefined in: packages/core/src/policy/policy.ts:10Default policy implementation with RBAC-style permissions.

Implements

  • PolicyContract

Constructors

Constructor

new SimplePolicy(options): SimplePolicy
Defined in: packages/core/src/policy/policy.ts:21Create a new policy.

Parameters

options
capabilityPermissions?
Record<string, CapabilityPermission[]>
description?
string
metadata?
{[key: string]: unknown; maxDailyCalls?: number; requiresApproval?: boolean; }
metadata.maxDailyCalls?
number
metadata.requiresApproval?
boolean
name
string
permissions
Record<string, ToolPermission[]>

Returns

SimplePolicy

Properties

description?

readonly optional description?: string
Defined in: packages/core/src/policy/policy.ts:12

Implementation of

PolicyContract.description

metadata?

readonly optional metadata?: object
Defined in: packages/core/src/policy/policy.ts:15

Index Signature

[key: string]: unknown

maxDailyCalls?

optional maxDailyCalls?: number

requiresApproval?

optional requiresApproval?: boolean

Implementation of

PolicyContract.metadata

name

readonly name: string
Defined in: packages/core/src/policy/policy.ts:11

Implementation of

PolicyContract.name

Methods

evaluate()

evaluate(request, user, context?): Promise<PolicyDecision>
Defined in: packages/core/src/policy/policy.ts:58Evaluate if a tool call is allowed.

Parameters

request
ToolCallRequest | CapabilityOperationRequest
user
UserContext
context?
MiddlewareContext

Returns

Promise<PolicyDecision>

Implementation of

PolicyContract.evaluate

getCapabilityPermissions()

getCapabilityPermissions(serverName): CapabilityPermission[]
Defined in: packages/core/src/policy/policy.ts:47Get operation-based permissions for a server, including adapted tool permissions.

Parameters

serverName
string

Returns

CapabilityPermission[]

Implementation of

PolicyContract.getCapabilityPermissions

getPermissions()

getPermissions(serverName): ToolPermission[]
Defined in: packages/core/src/policy/policy.ts:39Get permissions for a server.

Parameters

serverName
string

Returns

ToolPermission[]

Implementation of

PolicyContract.getPermissions
@fentaris/core / SlidingWindowRateLimiterDefined in: packages/core/src/rate-limit/rateLimit.ts:109Sliding-window rate limiter with optional daily quota.

Implements

  • RateLimiter

Constructors

Constructor

new SlidingWindowRateLimiter(options): SlidingWindowRateLimiter
Defined in: packages/core/src/rate-limit/rateLimit.ts:119Create a sliding-window limiter.

Parameters

options
keyPrefix?
string
maxDailyCalls?
number
maxPerWindow?
number
store?
RateLimitStore
windowMs?
number

Returns

SlidingWindowRateLimiter

Properties

metadata

readonly metadata: { maxDailyCalls?: number; maxPerWindow?: number; windowMs?: number; } | undefined
Defined in: packages/core/src/rate-limit/rateLimit.ts:110

Implementation of

RateLimiter.metadata

Methods

checkLimit()

checkLimit(key): Promise<boolean>
Defined in: packages/core/src/rate-limit/rateLimit.ts:135

Parameters

key
string

Returns

Promise<boolean>

Implementation of

RateLimiter.checkLimit

consume()

consume(key): Promise<boolean>
Defined in: packages/core/src/rate-limit/rateLimit.ts:152

Parameters

key
string

Returns

Promise<boolean>

Implementation of

RateLimiter.consume

getRemainingCalls()

getRemainingCalls(key): Promise<number>
Defined in: packages/core/src/rate-limit/rateLimit.ts:179

Parameters

key
string

Returns

Promise<number>

Implementation of

RateLimiter.getRemainingCalls

recordCall()

recordCall(key): Promise<void>
Defined in: packages/core/src/rate-limit/rateLimit.ts:172

Parameters

key
string

Returns

Promise<void>

Implementation of

RateLimiter.recordCall
@fentaris/core / SseMcpTransportDefined in: packages/core/src/transports/client/SseMcpTransport.ts:46Native MCP SSE upstream transport.

Implements

  • FentarisTransport

Constructors

Constructor

new SseMcpTransport(options, user?): SseMcpTransport
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:57Create a native MCP SSE transport.

Parameters

options
SseMcpTransportOptions
user?
UserContext = {}

Returns

SseMcpTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:84

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:142

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:133

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:124

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:115

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:88

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:106

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:75

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:97

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

withUser()

withUser(user): SseMcpTransport
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:71Return a copy bound to the current proxy user context.

Parameters

user
UserContext

Returns

SseMcpTransport
@fentaris/core / SseProxyExposureTransportDefined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:53SSE MCP downstream proxy exposure.

Implements

  • ProxyExposureTransport<SseProxyExposureHandle>

Constructors

Constructor

new SseProxyExposureTransport(options?): SseProxyExposureTransport
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:61Create an SSE proxy exposure transport.

Parameters

options?
SseProxyExposureTransportOptions = {}

Returns

SseProxyExposureTransport

Methods

listen()

listen(runtime): Promise<SseProxyExposureHandle>
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:71

Parameters

runtime
ProxyRuntime

Returns

Promise<SseProxyExposureHandle>

Implementation of

ProxyExposureTransport.listen
@fentaris/core / StdioProxyExposureTransportDefined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:25Stdio MCP downstream proxy exposure.

Implements

  • ProxyExposureTransport

Constructors

Constructor

new StdioProxyExposureTransport(options?): StdioProxyExposureTransport
Defined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:32Create a stdio proxy exposure transport.

Parameters

options?
StdioProxyExposureTransportOptions = {}

Returns

StdioProxyExposureTransport

Methods

listen()

listen(runtime): Promise<ProxyExposureHandle>
Defined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:36

Parameters

runtime
ProxyRuntime

Returns

Promise<ProxyExposureHandle>

Implementation of

ProxyExposureTransport.listen
@fentaris/core / StdioTransportDefined in: packages/core/src/transports/client/StdioTransport.ts:57Stdio-based MCP transport implementation.

Implements

  • FentarisTransport

Constructors

Constructor

new StdioTransport(options): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:66Create a new stdio transport.

Parameters

options
StdioTransportOptions

Returns

StdioTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:138Call a tool on the MCP server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/StdioTransport.ts:205Close the underlying client connection.

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:187

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:178

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:169

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:142

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:160

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:125List tools exposed by the MCP server.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:151

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

runtimeValueTokens()

runtimeValueTokens(): RuntimeValueToken[]
Defined in: packages/core/src/transports/client/StdioTransport.ts:90Return every runtime-value token declared in arguments and environment. Used by configuration validation to reconcile references against setup fields without exposing the full options object.

Returns

RuntimeValueToken[]

serverCapabilities()

serverCapabilities(): Promise<{ completions?: object; experimental?: {[key: string]: object; }; extensions?: {[key: string]: object; }; logging?: object; prompts?: { listChanged?: boolean; }; resources?: { listChanged?: boolean; subscribe?: boolean; }; tasks?: {[key: string]: unknown; cancel?: object; list?: object; requests?: {[key: string]: unknown; tools?: {[key: string]: unknown; call?: object; }; }; }; tools?: { listChanged?: boolean; }; } | undefined>
Defined in: packages/core/src/transports/client/StdioTransport.ts:197Return the initialized upstream capability declaration.

Returns

Promise<{ completions?: object; experimental?: {[key: string]: object; }; extensions?: {[key: string]: object; }; logging?: object; prompts?: { listChanged?: boolean; }; resources?: { listChanged?: boolean; subscribe?: boolean; }; tasks?: {[key: string]: unknown; cancel?: object; list?: object; requests?: {[key: string]: unknown; tools?: {[key: string]: unknown; call?: object; }; }; }; tools?: { listChanged?: boolean; }; } | undefined>

toLaunchRecipe()

toLaunchRecipe(schema?): LaunchRecipe
Defined in: packages/core/src/transports/client/StdioTransport.ts:80Compile this transport’s declaration into a serializable launch recipe bound to an optional setup schema. Cloud/edge validation uses this to reconcile runtime-value references against declared setup fields.

Parameters

schema?
SetupSchema

Returns

LaunchRecipe

unresolvedCloudRuntimeRefs()

unresolvedCloudRuntimeRefs(): string[]
Defined in: packages/core/src/transports/client/StdioTransport.ts:102Runtime references that have no explicit cloud-side value.

Returns

string[]

withEnv()

withEnv(env): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:111Return a copy with merged environment variables.

Parameters

env
Record<string, string>

Returns

StdioTransport
@fentaris/core / StreamableHttpMcpTransportDefined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:46Native MCP Streamable HTTP upstream transport for http:// and https:// servers.

Implements

  • FentarisTransport

Constructors

Constructor

new StreamableHttpMcpTransport(options, user?): StreamableHttpMcpTransport
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:57Create a native MCP Streamable HTTP transport.

Parameters

options
StreamableHttpMcpTransportOptions
user?
UserContext = {}

Returns

StreamableHttpMcpTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:84

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:142

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:133

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:124

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:115

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:88

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:106

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:75

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:97

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

withUser()

withUser(user): StreamableHttpMcpTransport
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:71Return a copy bound to the current proxy user context.

Parameters

user
UserContext

Returns

StreamableHttpMcpTransport
@fentaris/core / ToolDiscoveryErrorDefined in: packages/core/src/tools/index.ts:107Agent-native tool discovery helpers.

Extends

  • Error

Constructors

Constructor

new ToolDiscoveryError(code, message, options?): ToolDiscoveryError
Defined in: packages/core/src/tools/index.ts:113

Parameters

code
string
message
string
options?
details?
Record<string, unknown>
nextActions?
AgentJsonNextAction[]
warnings?
AgentJsonWarning[]

Returns

ToolDiscoveryError

Overrides

Error.constructor

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause

code

readonly code: string
Defined in: packages/core/src/tools/index.ts:108

details?

readonly optional details?: Record<string, unknown>
Defined in: packages/core/src/tools/index.ts:109

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

Error.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

Error.name

nextActions

readonly nextActions: AgentJsonNextAction[]
Defined in: packages/core/src/tools/index.ts:111

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.stack

warnings

readonly warnings: AgentJsonWarning[]
Defined in: packages/core/src/tools/index.ts:110

stackTraceLimit

static stackTraceLimit: number
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:67The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:51Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

Parameters

targetObject
object
constructorOpt?
Function

Returns

void

Inherited from

Error.captureStackTrace

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any
Defined in: node_modules/.pnpm/@types+node@25.9.1/node_modules/@types/node/globals.d.ts:55

Parameters

err
Error
stackTraces
CallSite[]

Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace
@fentaris/core / UserDefined in: packages/core/src/governance/governance.ts:13First-class non-sensitive subject declaration.

Constructors

Constructor

new User(id, metadata?): User
Defined in: packages/core/src/governance/governance.ts:23

Parameters

id
string
metadata?
UserOptions = {}

Returns

User

Properties

apiKeys

readonly apiKeys: CredentialSource[]
Defined in: packages/core/src/governance/governance.ts:20

credentials

readonly credentials: CredentialSourceMap
Defined in: packages/core/src/governance/governance.ts:21

displayName?

readonly optional displayName?: string
Defined in: packages/core/src/governance/governance.ts:15

email?

readonly optional email?: string
Defined in: packages/core/src/governance/governance.ts:16

id

readonly id: string
Defined in: packages/core/src/governance/governance.ts:14

metadata?

readonly optional metadata?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:19

tenant?

readonly optional tenant?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:18

tenantId?

readonly optional tenantId?: string
Defined in: packages/core/src/governance/governance.ts:17
@fentaris/core / acceptEdgeGatewayWebSocket
acceptEdgeGatewayWebSocket(req, socket, head): EdgeGatewaySocket
Defined in: packages/core/src/transports/exposure/edgeGatewayWebSocket.ts:13Complete the WebSocket handshake and return a text-frame gateway socket.

Parameters

req

IncomingMessage

socket

DuplexBuffer

Returns

EdgeGatewaySocket
@fentaris/core / adaptDesiredStateForEdgeProtocol
adaptDesiredStateForEdgeProtocol(state, version): EdgeDesiredStateMessage
Defined in: packages/core/src/edge/controlProtocol.ts:273Adapt desired state without exposing recipes unsupported by older agents.

Parameters

state

EdgeDesiredStateMessage

version

EdgeProtocolVersion

Returns

EdgeDesiredStateMessage
@fentaris/core / agentJsonFailure
agentJsonFailure(code, message, details, warnings, nextActions): AgentJsonFailure
Defined in: packages/core/src/tools/index.ts:339Agent-native tool discovery helpers.

Parameters

code

string

message

string

details

Record<string, unknown> | undefined

warnings

AgentJsonWarning[]

nextActions

AgentJsonNextAction[]

Returns

AgentJsonFailure
@fentaris/core / agentJsonSuccess
agentJsonSuccess<T>(data, warnings, nextActions, pagination?): AgentJsonSuccess<T>
Defined in: packages/core/src/tools/index.ts:335Agent-native tool discovery helpers.

Type Parameters

T

T

Parameters

data

T

warnings

AgentJsonWarning[]

nextActions

AgentJsonNextAction[]

pagination?

AgentPagination

Returns

AgentJsonSuccess<T>
@fentaris/core / allow
allow(toolName, options?): ToolPermission
Defined in: packages/core/src/governance/governance.ts:363Helper to declare an allow permission.

Parameters

toolName

string

options?

ToolPermissionOptions = {}

Returns

ToolPermission
@fentaris/core / allowAll
allowAll(name?): Policy
Defined in: packages/core/src/governance/governance.ts:395Helper to declare an allow-all policy.

Parameters

name?

string

Returns

Policy
@fentaris/core / allowCapability
allowCapability(permission): CapabilityPermission
Defined in: packages/core/src/governance/governance.ts:379Helper to declare an allow capability permission.

Parameters

permission

CapabilityPermissionOptions

Returns

CapabilityPermission
@fentaris/core / apiKeyIdentityStrategy
apiKeyIdentityStrategy(options): IdentityStrategy
Defined in: packages/core/src/auth/auth.ts:223API-key identity strategy backed by encrypted local auth storage.

Parameters

options

auth

FentarisAuthstring

name?

string

Returns

IdentityStrategy
@fentaris/core / assertValidFentarisConfig
assertValidFentarisConfig(config, options?): FentarisConfigValidationResult
Defined in: packages/core/src/config/validation.ts:161Validate Fentaris configuration and throw on error-severity diagnostics.

Parameters

config

McpProxyOptions

options?

FentarisConfigValidationOptions = {}

Returns

FentarisConfigValidationResult
@fentaris/core / bearer
bearer(credential): BearerCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:343Apply a credential as an Authorization bearer token.

Parameters

credential

CredentialReference

Returns

BearerCredentialAuth
@fentaris/core / bearerTokenIdentityStrategy
bearerTokenIdentityStrategy(options): IdentityStrategy
Defined in: packages/core/src/identity/identity.ts:45Create a strategy that resolves identity from bearer tokens.

Parameters

options

authorizationHeader?

string

name?

string

resolveToken

(token) => UserContext | Promise<UserContext | null> | null

Returns

IdentityStrategy
@fentaris/core / buildEdgeControlPlaneUrls
buildEdgeControlPlaneUrls(publicOrigin, basePath): object
Defined in: packages/core/src/edge/integratedConfig.ts:453Build absolute join and gateway URLs from a validated canonical public origin.

Parameters

publicOrigin

string

basePath

string

Returns

object

authorizeUrl

readonly authorizeUrl: string

enrollUrl

readonly enrollUrl: string

gatewayUrl

readonly gatewayUrl: string

joinBaseUrl

readonly joinBaseUrl: string

refreshUrl

readonly refreshUrl: string

revokeUrl

readonly revokeUrl: string

tokenUrl

readonly tokenUrl: string

verificationUrl

readonly verificationUrl: string
@fentaris/core / buildSubjectIndex
buildSubjectIndex(groups): SubjectIndex
Defined in: packages/core/src/governance/governance.ts:473First-class governance declaration APIs.

Parameters

groups

Group[]

Returns

SubjectIndex
@fentaris/core / canonicalizeInstallationValue
canonicalizeInstallationValue(value): string
Defined in: packages/core/src/edge/installation.ts:291Canonical JSON serialization used for digest and approval identity.

Parameters

value

unknown

Returns

string
@fentaris/core / collectRecipeRuntimeRefs
collectRecipeRuntimeRefs(args, env): string[]
Defined in: packages/core/src/edge/recipe.ts:66Collect setup field names referenced by runtime-value tokens in a recipe.

Parameters

args

readonly (string | RuntimeValueToken)[]

env

Readonly<Record<string, string | RuntimeValueToken>>

Returns

string[]
@fentaris/core / compareSecretHash
compareSecretHash(storedHash, provided): boolean
Defined in: packages/core/src/edge/integratedLocalStore.ts:385Compare a raw secret with a stored hash without leaking timing through length branches beyond the digest.

Parameters

storedHash

string

provided

string

Returns

boolean
@fentaris/core / compileEdgeDeploymentCatalog
compileEdgeDeploymentCatalog(options): EdgeDeploymentCatalog
Defined in: packages/core/src/edge/integratedReconciliation.ts:69Compile application declarations once into a deterministic immutable Edge catalog.

Parameters

options

CompileEdgeDeploymentCatalogOptions

Returns

EdgeDeploymentCatalog
@fentaris/core / compileInstallationRecipe
compileInstallationRecipe(input): InstallationRecipe
Defined in: packages/core/src/edge/installation.ts:301Compile and strictly validate an installation recipe.

Parameters

input

InstallationRecipeInput

Returns

InstallationRecipe
@fentaris/core / compileLaunchRecipe
compileLaunchRecipe(options, schema?): LaunchRecipe
Defined in: packages/core/src/edge/recipe.ts:86Compile a LaunchRecipe from stdio transport options. Collects the setup field names referenced by runtime-value tokens and binds the recipe to a setup schema version when provided. Throws for empty commands.

Parameters

options

StdioTransportOptions

schema?

SetupSchema

Returns

LaunchRecipe
@fentaris/core / computeInstallationDigest
computeInstallationDigest(value): `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:296Compute a stable SHA-256 installation digest.

Parameters

value

unknown

Returns

`sha256:${string}`
@fentaris/core / computeRecipeDigest
computeRecipeDigest(payload): string
Defined in: packages/core/src/edge/recipe.ts:61Compute a stable SHA-256 digest for a recipe payload.

Parameters

payload

Omit<LaunchRecipe, "digest">

Returns

string
@fentaris/core / createEdgeControlPlaneRoutes
createEdgeControlPlaneRoutes(options): object
Defined in: packages/core/src/transports/exposure/edgeControlPlaneRoutes.ts:25Build the reserved Edge HTTP routes under the configured base path.

Parameters

options

EdgeControlPlaneRouteOptions

Returns

object

httpRoutes

readonly httpRoutes: readonly ProxyExposureHttpRoute[]
@fentaris/core / createEdgeLocalOperatorEndpoint
createEdgeLocalOperatorEndpoint(stateDirectory): EdgeLocalOperatorEndpoint
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:71Create a short Unix-socket endpoint path and random credential.

Parameters

stateDirectory

string

Returns

EdgeLocalOperatorEndpoint
@fentaris/core / createProxy
createProxy(options?): McpProxy
Defined in: packages/core/src/proxy/McpProxy.ts:3709Create a Fentaris proxy with the express-like routing API.

Parameters

options?

McpProxyOptions = {}

Returns

McpProxy
@fentaris/core / createRuntimeEvent
createRuntimeEvent<N>(event): RuntimeEvent<N>
Defined in: packages/core/src/profiler/profiler.ts:270Runtime profiler, event, sink, and runtime error APIs.

Type Parameters

N

N extends keyof RuntimeEventMap

Parameters

event

object & Record<string, unknown>

Returns

RuntimeEvent<N>
@fentaris/core / createSetupSchema
createSetupSchema(fields, version?): SetupSchema
Defined in: packages/core/src/edge/setup.ts:259Build a SetupSchema from keyed field descriptors. Field names are assigned from the object keys and must be valid identifiers.

Parameters

fields

Record<string, SetupFieldDescriptor>

version?

number

Returns

SetupSchema
@fentaris/core / credential
credential(reference): CredentialReference
Defined in: packages/core/src/credentials/credentials.ts:70Reference a credential by logical name from server configuration.

Parameters

reference

string

Returns

CredentialReference
@fentaris/core / credentialEnv
credentialEnv(name): CredentialEnvSource
Defined in: packages/core/src/credentials/credentials.ts:94Resolve a value from an environment variable.

Parameters

name

string

Returns

CredentialEnvSource
@fentaris/core / credentialJson
credentialJson(path, options?): CredentialJsonSource
Defined in: packages/core/src/credentials/credentials.ts:82Resolve a value from the encrypted local credentials JSON.

Parameters

path

string

options?

CredentialJsonOptions = {}

Returns

CredentialJsonSource
@fentaris/core / credentialsToRefs
credentialsToRefs(credentials): SecretRef[]
Defined in: packages/core/src/secrets/local-backend.ts:184Convert decrypted local credentials to secret refs.

Parameters

credentials

defaults

Record<string, string> = ...

groups

Record<string, Record<string, string>> = ...

users

Record<string, { apiKeys: string[]; credentials: Record<string, string>; }> = ...

Returns

SecretRef[]
@fentaris/core / decodeSecretScope
decodeSecretScope(encoded): SecretScope
Defined in: packages/core/src/secrets/types.ts:87Decode a manifest scope string to a secret scope.

Parameters

encoded

string

Returns

SecretScope
@fentaris/core / defineFentarisConfig
defineFentarisConfig<TConfig>(config): TConfig
Defined in: packages/core/src/config/validation.ts:36Preserve TypeScript inference for Fentaris configuration objects.

Type Parameters

TConfig

TConfig extends McpProxyOptions

Parameters

config

TConfig

Returns

TConfig
@fentaris/core / deny
deny(toolName, options?): ToolPermission
Defined in: packages/core/src/governance/governance.ts:371Helper to declare a deny permission.

Parameters

toolName

string

options?

ToolPermissionOptions = {}

Returns

ToolPermission
@fentaris/core / denyCapability
denyCapability(permission): CapabilityPermission
Defined in: packages/core/src/governance/governance.ts:387Helper to declare a deny capability permission.

Parameters

permission

CapabilityPermissionOptions

Returns

CapabilityPermission
@fentaris/core / deriveEligibleEdgeDeployments
deriveEligibleEdgeDeployments(context): Promise<EdgeEligibilityResult>
Defined in: packages/core/src/edge/integratedReconciliation.ts:151Derive only assignments proven for both the subject and selected device.

Parameters

context

EdgeEligibilityContext

Returns

Promise<EdgeEligibilityResult>
@fentaris/core / describeRuntimeValueToken
describeRuntimeValueToken(token): string
Defined in: packages/core/src/edge/runtimeInput.ts:68Inspect a token’s kind for safe logging/diagnostics without resolved values.

Parameters

token

RuntimeValueToken

Returns

string
@fentaris/core / detectStaticPlacementOverlaps
detectStaticPlacementOverlaps(inputs): PlacementOverlapDiagnostic[]
Defined in: packages/core/src/edge/placement.ts:256Detect statically overlapping group bindings that bind the same server to different targets for the same subject and have no user binding to resolve the conflict. Dynamic membership that cannot be known at startup is not reported here; it surfaces as a runtime EDGE_PLACEMENT_AMBIGUOUS error.

Parameters

inputs

StaticOverlapInputs

Returns

PlacementOverlapDiagnostic[]
@fentaris/core / diagnoseEdgeProductionAdapters
diagnoseEdgeProductionAdapters(adapters, claimsProductionReady): readonly EdgeProductionAdapterDiagnostic[]
Defined in: packages/core/src/edge/distributed.ts:137Surface actionable diagnostics when production claims depend on reference adapters.

Parameters

adapters

Readonly<Record<string, { diagnostics?: EdgeAdapterDiagnostics; } | undefined>>

claimsProductionReady

boolean

Returns

readonly EdgeProductionAdapterDiagnostic[]
@fentaris/core / diffManifest
diffManifest(required, stored): SecretsManifestDiff
Defined in: packages/core/src/secrets/manifest.ts:53Compare required manifest entries against stored secret refs.

Parameters

required

SecretsManifestEntry[]

stored

SecretRef[]

Returns

SecretsManifestDiff
@fentaris/core / edgeControlPlaneError
edgeControlPlaneError(error, description?, extras?): EdgeControlPlaneErrorBody
Defined in: packages/core/src/edge/integratedProtocol.ts:137Build a redacted control-plane error body.

Parameters

error

EdgeControlPlaneErrorCode

description?

string

extras?

interval?

number

Returns

EdgeControlPlaneErrorBody
@fentaris/core / edgeError
edgeError(code, message, options?): EdgeError
Defined in: packages/core/src/edge/errors.ts:63Create a normalized EdgeError.details should not contain resolved secrets, local paths, credentials, or full command environments; redaction is the caller’s responsibility.

Parameters

code

EdgeErrorCode

message

string

options?

EdgeErrorOptions

Returns

EdgeError
@fentaris/core / edgeHealth
edgeHealth(options): HealthBuilder
Defined in: packages/core/src/edge/observability.ts:85Build standard edge health checks using existing Fentaris health primitives.

Parameters

options

EdgeHealthOptions

Returns

HealthBuilder
@fentaris/core / edgeInstallationHealth
edgeInstallationHealth(options): HealthBuilder
Defined in: packages/core/src/edge/installationObservability.ts:51Build standard managed-installation health checks.

Parameters

options

EdgeInstallationHealthOptions

Returns

HealthBuilder
@fentaris/core / encodeSecretScope
encodeSecretScope(scope): string
Defined in: packages/core/src/secrets/types.ts:73Encode a secret scope to manifest string form.

Parameters

scope

SecretScope

Returns

string
@fentaris/core / exposurePathsConflict
exposurePathsConflict(left, right): boolean
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:45True when two absolute paths overlap as prefixes or exact matches.

Parameters

left

stringstring

Returns

boolean
@fentaris/core / filterToolsByPolicy
filterToolsByPolicy<TTool>(tools, serverName, policy): TTool[]
Defined in: packages/core/src/policy/policy.ts:131Filter tools by policy.

Type Parameters

TTool

TTool extends object

Parameters

tools

TTool[]

serverName

string

policy

PolicyContract

Returns

TTool[]
@fentaris/core / formatFentarisDiagnostics
formatFentarisDiagnostics(diagnostics, options?): string
Defined in: packages/core/src/config/format.ts:7Format diagnostics for humans or JSON-oriented tooling.

Parameters

diagnostics

readonly FentarisDiagnostic[]

options?

FentarisDiagnosticFormatterOptions = {}

Returns

string
@fentaris/core / fromProxyToolName
fromProxyToolName(proxyToolName): object
Defined in: packages/core/src/naming/nameMapping.ts:37Split a proxied tool name into server and tool parts.

Parameters

proxyToolName

string

Returns

object

serverName

serverName: string

toolName

toolName: string
@fentaris/core / functionProfilerSink
functionProfilerSink(write, name?): ProfilerSink
Defined in: packages/core/src/profiler/profiler.ts:279Runtime profiler, event, sink, and runtime error APIs.

Parameters

write

ProfilerFunctionSink

name?

string = "function"

Returns

ProfilerSink
@fentaris/core / getCapabilityPermission
getCapabilityPermission(permissions, request): CapabilityPermission | undefined
Defined in: packages/core/src/policy/policy.ts:239Return the effective capability permission, preferring exact matches over wildcards.

Parameters

permissions

CapabilityPermission[]

request

CapabilityOperationRequest

Returns

CapabilityPermission | undefined
@fentaris/core / getToolPermission
getToolPermission(permissions, toolName): ToolPermission | undefined
Defined in: packages/core/src/policy/policy.ts:144Return the effective permission for a tool, preferring exact matches over wildcard permissions.

Parameters

permissions

ToolPermission[]

toolName

string

Returns

ToolPermission | undefined
@fentaris/core / group
group(options): Group
Defined in: packages/core/src/governance/governance.ts:347Helper to declare a group.

Parameters

options

GroupOptions

Returns

Group
@fentaris/core / hashSecret
hashSecret(value): string
Defined in: packages/core/src/edge/integratedLocalStore.ts:380Hash a bearer, refresh, or device credential for equality checks at rest.

Parameters

value

string

Returns

string
@fentaris/core / header
header(name, credential): HeaderCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:351Apply a credential as a named request header.

Parameters

name

string

credential

CredentialReference

Returns

HeaderCredentialAuth
@fentaris/core / headerIdentityStrategy
headerIdentityStrategy(options?): IdentityStrategy
Defined in: packages/core/src/identity/identity.ts:8Create a strategy that resolves identity from request headers.

Parameters

options?

metadataHeaders?

Record<string, string>

name?

string

userIdHeader?

string

Returns

IdentityStrategy
@fentaris/core / health
health(options?): HealthBuilder
Defined in: packages/core/src/health/health.ts:142Runtime lifecycle and health APIs.

Parameters

options?

HealthBuilderOptions = {}

Returns

HealthBuilder
@fentaris/core / installationApprovalDigest
installationApprovalDigest(recipe, localPolicy): `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:366Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Parameters

recipe

InstallationRecipe

localPolicy

unknown

Returns

`sha256:${string}`
@fentaris/core / installedArtifact
installedArtifact(recipe, output): InstalledArtifactReference
Defined in: packages/core/src/edge/installation.ts:347Create a serializable reference to one declared installation output.

Parameters

recipe

InstallationRecipe

output

string

Returns

InstalledArtifactReference
@fentaris/core / isCapabilityAllowedByPermissions
isCapabilityAllowedByPermissions(permissions, request): boolean
Defined in: packages/core/src/policy/policy.ts:250Check whether a capability is allowed by a permission set.

Parameters

permissions

CapabilityPermission[]

request

CapabilityOperationRequest

Returns

boolean
@fentaris/core / isCloudTarget
isCloudTarget(target): target is CloudExecutionTarget
Defined in: packages/core/src/edge/target.ts:196Type guard for a cloud target.

Parameters

target

ExecutionTarget

Returns

target is CloudExecutionTarget
@fentaris/core / isEdgeControlPlaneErrorBody
isEdgeControlPlaneErrorBody(value): value is EdgeControlPlaneErrorBody
Defined in: packages/core/src/edge/integratedProtocol.ts:127Type guard for a control-plane error body.

Parameters

value

unknown

Returns

value is EdgeControlPlaneErrorBody
@fentaris/core / isEdgeError
isEdgeError(value): value is EdgeError
Defined in: packages/core/src/edge/errors.ts:77Type guard for EdgeError.

Parameters

value

unknown

Returns

value is EdgeError
@fentaris/core / isEdgeMcpInboundEnvelope
isEdgeMcpInboundEnvelope(value): value is EdgeMcpInboundEnvelope
Defined in: packages/core/src/edge/protocol.ts:86Return true when an unknown value is a structurally valid terminal envelope.

Parameters

value

unknown

Returns

value is EdgeMcpInboundEnvelope
@fentaris/core / isEdgeTarget
isEdgeTarget(target): target is EdgeExecutionTarget
Defined in: packages/core/src/edge/target.ts:201Type guard for an edge target.

Parameters

target

ExecutionTarget

Returns

target is EdgeExecutionTarget
@fentaris/core / isInstalledArtifactReference
isInstalledArtifactReference(value): value is InstalledArtifactReference
Defined in: packages/core/src/edge/installation.ts:353Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Parameters

value

unknown

Returns

value is InstalledArtifactReference
@fentaris/core / isRuntimeValueToken
isRuntimeValueToken(value): value is RuntimeValueToken
Defined in: packages/core/src/edge/runtimeInput.ts:63Type guard for RuntimeValueToken.

Parameters

value

unknown

Returns

value is RuntimeValueToken
@fentaris/core / isToolAllowedByPermissions
isToolAllowedByPermissions(permissions, toolName): boolean
Defined in: packages/core/src/policy/policy.ts:155Check whether a tool is allowed by a permission set.

Parameters

permissions

ToolPermission[]

toolName

string

Returns

boolean
@fentaris/core / jsonConsoleLogger
jsonConsoleLogger(options?): Logger
Defined in: packages/core/src/logging/logger.ts:140Create a logger that writes structured JSON entries to stdout.

Parameters

options?

JsonConsoleLoggerOptions = {}

Returns

Logger
@fentaris/core / jsonProfilerSink
jsonProfilerSink(writer?): ProfilerSink
Defined in: packages/core/src/profiler/profiler.ts:305Runtime profiler, event, sink, and runtime error APIs.

Parameters

writer?

(line) => void

Returns

ProfilerSink
@fentaris/core / limit
limit(limiter): Pick<ToolPermissionOptions, "limiter">
Defined in: packages/core/src/governance/governance.ts:403Permission helper for limiters.

Parameters

limiter

RateLimiter | undefined

Returns

Pick<ToolPermissionOptions, "limiter">
@fentaris/core / loggerProfilerSink
loggerProfilerSink(options): ProfilerSink
Defined in: packages/core/src/profiler/profiler.ts:283Runtime profiler, event, sink, and runtime error APIs.

Parameters

options

LoggerSinkOptions

Returns

ProfilerSink
@fentaris/core / manifestEntryKey
manifestEntryKey(entry): string
Defined in: packages/core/src/secrets/types.ts:112Stable key for manifest entries.

Parameters

entry

SecretsManifestEntry

Returns

string
@fentaris/core / manifestFromSecretRefs
manifestFromSecretRefs(refs, envVars?): SecretsManifest
Defined in: packages/core/src/secrets/manifest.ts:72Build manifest entries from credential secret refs.

Parameters

refs

SecretRef[]

envVars?

string[] = []

Returns

SecretsManifest
@fentaris/core / manifestsEqual
manifestsEqual(left, right): boolean
Defined in: packages/core/src/secrets/manifest.ts:88Compare two manifests for equality (order-insensitive).

Parameters

left

SecretsManifest

right

SecretsManifest

Returns

boolean
@fentaris/core / mcp
mcp(name, options): McpServer
Defined in: packages/core/src/server/McpServer.ts:335Create an upstream MCP server declaration.

Parameters

name

string

options

Omit<McpServerOptions, "name">

Returns

McpServer
@fentaris/core / mergeEdgeControlPlaneConfig
mergeEdgeControlPlaneConfig(typescriptConfig, jsonConfig): EdgeControlPlaneConfig | undefined
Defined in: packages/core/src/edge/integratedConfig.ts:214Merge serializable fentaris.json Edge control-plane options with TypeScript config. TypeScript wins for every overlapping serializable field; adapters and callbacks are TypeScript-only and are never taken from JSON.

Parameters

typescriptConfig

EdgeControlPlaneConfig | undefined

jsonConfig

SerializableEdgeControlPlaneConfig | undefined

Returns

EdgeControlPlaneConfig | undefined
@fentaris/core / normalizeEdgeControlPlaneConfig
normalizeEdgeControlPlaneConfig(config): NormalizedEdgeControlPlaneConfig | undefined
Defined in: packages/core/src/edge/integratedConfig.ts:284Normalize an enabled control-plane configuration with secure defaults. Returns undefined when the control plane is absent or disabled.

Parameters

config

EdgeControlPlaneConfig | undefined

Returns

NormalizedEdgeControlPlaneConfig | undefined
@fentaris/core / normalizeEdgeDeviceName
normalizeEdgeDeviceName(name): string
Defined in: packages/core/src/edge/controlPlane.ts:440Normalize a tenant-scoped public Edge name for collision checks.

Parameters

name

string

Returns

string
@fentaris/core / normalizeExposurePath
normalizeExposurePath(value): string
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:52Normalize an exposure path to a non-trailing-slash absolute form.

Parameters

value

string

Returns

string
@fentaris/core / normalizeInstallationReadiness
normalizeInstallationReadiness(state): "ready" | "blocked" | "setup-required" | "unavailable"
Defined in: packages/core/src/edge/installation.ts:359Normalize detailed installation state for compatible readiness clients.

Parameters

state

InstallationLifecycleState

Returns

"ready" | "blocked" | "setup-required" | "unavailable"
@fentaris/core / normalizeRuntimeError
normalizeRuntimeError(error, options?): FentarisRuntimeError
Defined in: packages/core/src/profiler/errors.ts:64Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

options?

FentarisRuntimeErrorOptions = {}

Returns

FentarisRuntimeError
@fentaris/core / normalizeRuntimeProfiler
normalizeRuntimeProfiler(config, logger?): NormalizedRuntimeProfiler | null
Defined in: packages/core/src/profiler/profiler.ts:133Runtime profiler, event, sink, and runtime error APIs.

Parameters

config

RuntimeProfilerConfig

logger?

Logger

Returns

NormalizedRuntimeProfiler | null
@fentaris/core / normalizeUserCode
normalizeUserCode(userCode): string
Defined in: packages/core/src/edge/integratedLocalStore.ts:390Normalize a human user code for durable lookup.

Parameters

userCode

string

Returns

string
@fentaris/core / parseEdgeProtocolMessage
parseEdgeProtocolMessage(frame): EdgeProtocolMessage
Defined in: packages/core/src/edge/controlProtocol.ts:238Parse a JSON edge frame and reject unsupported/malformed protocol shells.

Parameters

frame

string

Returns

EdgeProtocolMessage
@fentaris/core / parseInstallationRecipe
parseInstallationRecipe(data): InstallationRecipe
Defined in: packages/core/src/edge/installation.ts:311Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Parameters

data

string

Returns

InstallationRecipe
@fentaris/core / parseLaunchRecipe
parseLaunchRecipe(data): LaunchRecipe
Defined in: packages/core/src/edge/recipe.ts:113Parse and validate a serialized recipe.

Parameters

data

string

Returns

LaunchRecipe
@fentaris/core / parseManifest
parseManifest(value): SecretsManifest
Defined in: packages/core/src/secrets/manifest.ts:28Parse and validate a secrets manifest.

Parameters

value

unknown

Returns

SecretsManifest
@fentaris/core / parseSerializableEdgeControlPlaneConfig
parseSerializableEdgeControlPlaneConfig(value, diagnostics?, path?): SerializableEdgeControlPlaneConfig | undefined
Defined in: packages/core/src/edge/integratedConfig.ts:377Parse serializable Edge control-plane options from raw fentaris.json input. Unknown adapter-like keys are rejected rather than silently ignored.

Parameters

value

unknown

diagnostics?

FentarisDiagnostic[] = []

path?

(string | number)[] = ...

Returns

SerializableEdgeControlPlaneConfig | undefined
@fentaris/core / policy
policy(name, options?): Policy
Defined in: packages/core/src/governance/governance.ts:355Helper to declare a policy.

Parameters

name

string

options?

description?

string

metadata?

{[key: string]: unknown; maxDailyCalls?: number; requiresApproval?: boolean; }

metadata.maxDailyCalls?

number

metadata.requiresApproval?

boolean

Returns

Policy
@fentaris/core / prettyProfilerSink
prettyProfilerSink(options?): ProfilerSink
Defined in: packages/core/src/profiler/profiler.ts:294Runtime profiler, event, sink, and runtime error APIs.

Parameters

options?

ProfilerPrettySinkOptions = {}

Returns

ProfilerSink
@fentaris/core / profiler
profiler(): ProfilerBuilder
Defined in: packages/core/src/profiler/profiler.ts:129Runtime profiler, event, sink, and runtime error APIs.

Returns

ProfilerBuilder
@fentaris/core / rateLimitKey
rateLimitKey(request, user): string
Defined in: packages/core/src/rate-limit/rateLimit.ts:274Build a stable rate-limit key for a user/server/tool tuple.

Parameters

request

ToolCallRequest

user

UserContext

Returns

string
@fentaris/core / rateLimitMiddleware
rateLimitMiddleware(options?): Middleware
Defined in: packages/core/src/rate-limit/rateLimit.ts:282Middleware helper that enforces a rate limiter before forwarding tool calls.

Parameters

options?

key?

(request, user) => string

limiter?

RateLimiter

message?

string

Returns

Middleware
@fentaris/core / readEdgeLocalOperatorEndpoint
readEdgeLocalOperatorEndpoint(stateDirectory): Promise<EdgeLocalOperatorEndpoint>
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:81Read the running owner-protected operator endpoint without opening authority state.

Parameters

stateDirectory

string

Returns

Promise<EdgeLocalOperatorEndpoint>
@fentaris/core / redactEdgeAuthorityValue
redactEdgeAuthorityValue(value): unknown
Defined in: packages/core/src/edge/integratedLocalStore.ts:395Redact secret-bearing values from errors and telemetry payloads.

Parameters

value

unknown

Returns

unknown
@fentaris/core / redactEdgeProtocolValue
redactEdgeProtocolValue(value, key?): unknown
Defined in: packages/core/src/edge/observability.ts:103Redact edge credentials, local paths, secrets, environments, and auth fields.

Parameters

value

unknown

key?

string = ""

Returns

unknown
@fentaris/core / redactProfilerValue
redactProfilerValue<T>(value, options): T
Defined in: packages/core/src/profiler/redaction.ts:58Runtime profiler, event, sink, and runtime error APIs.

Type Parameters

T

T

Parameters

value

T

options

NormalizedProfilerRedaction

Returns

T
@fentaris/core / registerEdgeControlProvider
registerEdgeControlProvider(handle, options): void
Defined in: packages/core/src/edge/controlProvider.ts:168Register the reserved provider through the normal local capability machinery.

Parameters

handle

ProxyLocalHandle

options

EdgeControlProviderOptions

Returns

void
@fentaris/core / renderRuntimeError
renderRuntimeError(error): string
Defined in: packages/core/src/profiler/errors.ts:108Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

Returns

string
@fentaris/core / requireDevice
requireDevice(selector, context, resolver): Promise<DeviceResolution>
Defined in: packages/core/src/edge/placement.ts:432Resolve a device selector and return a structured EDGE_UNAVAILABLE error when no eligible device is found. Never leaks private device inventory.

Parameters

selector

DeviceSelector

context

DeviceResolverContext

resolver

DeviceResolver

Returns

Promise<DeviceResolution>
@fentaris/core / resolveDeviceSelector
resolveDeviceSelector(selector, context, resolver): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/placement.ts:384Resolve a DeviceSelector against a DeviceResolver.A fallback selector resolves its children in order and returns the first eligible device. null from a child means “no eligible device for this selector”, so fallback proceeds; only when every child is ineligible does this function return null.

Parameters

selector

DeviceSelector

context

DeviceResolverContext

resolver

DeviceResolver

Returns

Promise<DeviceResolution | null>
@fentaris/core / resolveHttpTransportHeaders
resolveHttpTransportHeaders(options, user?): Promise<Record<string, string>>
Defined in: packages/core/src/transports/auth/transportAuth.ts:57Resolve outbound HTTP-family transport headers for a user context.

Parameters

options

HttpTransportAuthOptions | undefined

user?

UserContext = {}

Returns

Promise<Record<string, string>>
@fentaris/core / runtimeErrorEvent
runtimeErrorEvent(error, context?): RuntimeProfilerErrorPayload
Defined in: packages/core/src/profiler/errors.ts:118Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

context?

RuntimeErrorContext = {}

Returns

RuntimeProfilerErrorPayload
@fentaris/core / runtimeErrorToEventPayload
runtimeErrorToEventPayload(error): RuntimeProfilerErrorPayload
Defined in: packages/core/src/profiler/profiler.ts:314Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

Returns

RuntimeProfilerErrorPayload
@fentaris/core / runtimeValueRef
runtimeValueRef(token): string
Defined in: packages/core/src/edge/runtimeInput.ts:73Extract the setup field name from a runtime value token.

Parameters

token

RuntimeValueToken

Returns

string
@fentaris/core / secretRefKey
secretRefKey(ref, scope): string
Defined in: packages/core/src/secrets/types.ts:104Stable key for comparing secret references.

Parameters

ref

string

scope

SecretScope

Returns

string
@fentaris/core / selectHighestMutualEdgeProtocolVersion
selectHighestMutualEdgeProtocolVersion(peerVersions, supportedVersions?): EdgeProtocolVersion | undefined
Defined in: packages/core/src/edge/controlProtocol.ts:264Select the highest version supported by both peers.

Parameters

peerVersions

readonly number[]

supportedVersions?

readonly EdgeProtocolVersion[] = EDGE_SUPPORTED_PROTOCOL_VERSIONS

Returns

EdgeProtocolVersion | undefined
@fentaris/core / sensitive
sensitive(metadata?): Pick<ToolPermissionOptions, "sensitive">
Defined in: packages/core/src/governance/governance.ts:464Permission helper for sensitive-operation metadata.

Parameters

metadata?

Record<string, unknown> = {}

Returns

Pick<ToolPermissionOptions, "sensitive">
@fentaris/core / serializeEdgePublicValue
serializeEdgePublicValue(value, limits?): unknown
Defined in: packages/core/src/edge/observability.ts:128Redact and bound an untrusted public/diagnostic value before serialization.

Parameters

value

unknown

limits?

EdgeSerializationLimits = {}

Returns

unknown
@fentaris/core / serializeInstallationRecipe
serializeInstallationRecipe(recipe): string
Defined in: packages/core/src/edge/installation.ts:306Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.

Parameters

recipe

InstallationRecipe

Returns

string
@fentaris/core / serializeLaunchRecipe
serializeLaunchRecipe(recipe): string
Defined in: packages/core/src/edge/recipe.ts:108Serialize a recipe to a canonical JSON string.

Parameters

recipe

LaunchRecipe

Returns

string
@fentaris/core / serializeManifest
serializeManifest(manifest): string
Defined in: packages/core/src/secrets/manifest.ts:40Serialize a secrets manifest to JSON.

Parameters

manifest

SecretsManifest

Returns

string
@fentaris/core / startIntegratedEdgeControlPlane
startIntegratedEdgeControlPlane(options): Promise<IntegratedEdgeControlPlaneRuntime>
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:107Open local authority state, authorization services, gateway, operator channel, and exposure routes for an enabled integrated control plane.

Parameters

options

IntegratedEdgeControlPlaneRuntimeOptions

Returns

Promise<IntegratedEdgeControlPlaneRuntime>
@fentaris/core / stdio
stdio(options): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:293Create a stdio upstream transport.

Parameters

options

StdioTransportOptions

Returns

StdioTransport
@fentaris/core / streamableHttp
streamableHttp(options): StreamableHttpMcpTransport
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:200Create a Streamable HTTP upstream transport.

Parameters

options

StreamableHttpMcpTransportOptions

Returns

StreamableHttpMcpTransport
@fentaris/core / toCapabilityPermissions
toCapabilityPermissions(serverName, permissions): CapabilityPermission[]
Defined in: packages/core/src/policy/policy.ts:164Return operation-based permissions adapted from tool permissions.

Parameters

serverName

string

permissions

ToolPermission[]

Returns

CapabilityPermission[]
@fentaris/core / toCapabilityRequest
toCapabilityRequest(request): CapabilityOperationRequest
Defined in: packages/core/src/policy/policy.ts:187Normalize a legacy tool-call request into a capability request.

Parameters

request

ToolCallRequest | CapabilityOperationRequest

Returns

CapabilityOperationRequest
@fentaris/core / toProxyToolName
toProxyToolName(serverName, toolName): string
Defined in: packages/core/src/naming/nameMapping.ts:28Combine server and tool names into a proxied tool name.

Parameters

serverName

string

toolName

string

Returns

string
@fentaris/core / toRuntimeErrorPayload
toRuntimeErrorPayload(error): RuntimeProfilerErrorPayload
Defined in: packages/core/src/profiler/errors.ts:95Runtime profiler, event, sink, and runtime error APIs.

Parameters

error

unknown

Returns

RuntimeProfilerErrorPayload
@fentaris/core / user
user(id, metadata?): User
Defined in: packages/core/src/governance/governance.ts:339Helper to declare a user.

Parameters

id

string

metadata?

UserOptions = {}

Returns

User
@fentaris/core / validateDeviceSelector
validateDeviceSelector(selector): string[]
Defined in: packages/core/src/edge/target.ts:214Validate a device selector structure and return collected diagnostic messages.

Parameters

selector

DeviceSelector

Returns

string[]
@fentaris/core / validateEdgeControlPlaneConfig
validateEdgeControlPlaneConfig(config, options?): FentarisDiagnostic[]
Defined in: packages/core/src/edge/integratedConfig.ts:320Validate integrated Edge control-plane configuration. Callers supply the MCP path and optional listener host so route conflicts and loopback origin rules can be evaluated before startup.

Parameters

config

EdgeControlPlaneConfig | undefined

options?

authDir?

string

listenerHost?

string

mcpPath?

string

Returns

FentarisDiagnostic[]
@fentaris/core / validateEdgePresenceReport
validateEdgePresenceReport(message): void
Defined in: packages/core/src/edge/controlProtocol.ts:288Validate bounded protocol-v2 observed facts and dynamic report fields.

Parameters

message

EdgePresenceReportMessage

Returns

void
@fentaris/core / validateFentarisConfig
validateFentarisConfig(config, options?): FentarisConfigValidationResult
Defined in: packages/core/src/config/validation.ts:44Validate Fentaris configuration and return structured diagnostics.

Parameters

config

McpProxyOptions

options?

FentarisConfigValidationOptions = {}

Returns

FentarisConfigValidationResult
@fentaris/core / validateInstallationRecipe
validateInstallationRecipe(value): InstallationRecipe
Defined in: packages/core/src/edge/installation.ts:318Strictly validate immutable sources, bounded permissions, outputs, and digest.

Parameters

value

unknown

Returns

InstallationRecipe
@fentaris/core / validateLaunchRecipe
validateLaunchRecipe(value): LaunchRecipe
Defined in: packages/core/src/edge/recipe.ts:124Validate an already-decoded launch recipe object.

Parameters

value

unknown

Returns

LaunchRecipe
@fentaris/core / validateSetupSchema
validateSetupSchema(schema): SetupDiagnostic[]
Defined in: packages/core/src/edge/setup.ts:284Validate a setup schema and return diagnostics. Rejects unsafe secret defaults, incompatible cloud-visible flags on sensitive fields, select fields without options, and duplicate field names (structurally impossible from createSetupSchema, possible when constructed by hand).

Parameters

schema

SetupSchema

Returns

SetupDiagnostic[]
@fentaris/core / ArchiveInstallationSourceDefined in: packages/core/src/edge/installation.ts:39

Properties

credentialRef?

readonly optional credentialRef?: string
Defined in: packages/core/src/edge/installation.ts:43

integrity

readonly integrity: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:42

kind

readonly kind: "archive"
Defined in: packages/core/src/edge/installation.ts:40

maxBytes?

readonly optional maxBytes?: number
Defined in: packages/core/src/edge/installation.ts:44

url

readonly url: string
Defined in: packages/core/src/edge/installation.ts:41
@fentaris/core / AttributedEdgeValueDefined in: packages/core/src/edge/inventory.ts:18A value paired with its trusted source and capture time.

Type Parameters

T

T

Properties

authority

readonly authority: EdgeMetadataAuthority
Defined in: packages/core/src/edge/inventory.ts:20

capturedAt

readonly capturedAt: number
Defined in: packages/core/src/edge/inventory.ts:21

value

readonly value: T
Defined in: packages/core/src/edge/inventory.ts:19
@fentaris/core / AuthenticatedEdgeIdentityDefined in: packages/core/src/edge/gateway.ts:45Trusted identity returned after validating a device-bound credential/proof.

Properties

credentialId

readonly credentialId: string
Defined in: packages/core/src/edge/gateway.ts:48

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/gateway.ts:47

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/gateway.ts:46
@fentaris/core / BinaryInstallationProviderDefined in: packages/core/src/edge/installation.ts:86

Properties

kind

readonly kind: "binary"
Defined in: packages/core/src/edge/installation.ts:87

source

readonly source: ArchiveInstallationSource
Defined in: packages/core/src/edge/installation.ts:88
@fentaris/core / BooleanSetupFieldDefined in: packages/core/src/edge/setup.ts:72Boolean field, with an optional safe default.

Extends

  • SetupFieldCommon

Properties

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:42Whether the resolved value may be returned to the control plane. Defaults to false for sensitive local fields. Only non-sensitive fields may opt in.

Inherited from

SetupFieldCommon.cloudVisible

default?

readonly optional default?: boolean
Defined in: packages/core/src/edge/setup.ts:74

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:36Description for setup prompts. Must not contain resolved values.

Inherited from

SetupFieldCommon.description

kind

readonly kind: "boolean"
Defined in: packages/core/src/edge/setup.ts:73

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:34Human-readable label for setup prompts.

Inherited from

SetupFieldCommon.label

name

readonly name: string
Defined in: packages/core/src/edge/setup.ts:30Field name; assigned from the setup schema object key.

Inherited from

SetupFieldCommon.name

required

readonly required: boolean
Defined in: packages/core/src/edge/setup.ts:32Whether the field must be supplied. Defaults to true.

Inherited from

SetupFieldCommon.required
@fentaris/core / CloudExecutionTargetDefined in: packages/core/src/edge/target.ts:130Cloud execution target: run the configured transport on the Fentaris host.

Properties

kind

readonly kind: "cloud"
Defined in: packages/core/src/edge/target.ts:131
@fentaris/core / ContainerInstallationProviderDefined in: packages/core/src/edge/installation.ts:91

Properties

digest

readonly digest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:94

image

readonly image: string
Defined in: packages/core/src/edge/installation.ts:93

kind

readonly kind: "container"
Defined in: packages/core/src/edge/installation.ts:92

runtime?

readonly optional runtime?: "docker" | "podman"
Defined in: packages/core/src/edge/installation.ts:95
@fentaris/core / CustomInstallationProviderDefined in: packages/core/src/edge/installation.ts:105

Properties

args?

readonly optional args?: readonly string[]
Defined in: packages/core/src/edge/installation.ts:110

entrypoint

readonly entrypoint: string
Defined in: packages/core/src/edge/installation.ts:108

interpreter

readonly interpreter: "python" | "executable" | "sh" | "bash" | "node" | "powershell"
Defined in: packages/core/src/edge/installation.ts:109

kind

readonly kind: "custom"
Defined in: packages/core/src/edge/installation.ts:106

source

readonly source: InstallationSource
Defined in: packages/core/src/edge/installation.ts:107
@fentaris/core / DeviceResolutionDefined in: packages/core/src/edge/placement.ts:332A resolved eligible enrolled device.

Properties

alias?

readonly optional alias?: string
Defined in: packages/core/src/edge/placement.ts:336Control-plane alias, when known.

connectionGeneration?

readonly optional connectionGeneration?: number
Defined in: packages/core/src/edge/placement.ts:338Active generation to pin after a current-state selection revalidation.

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/placement.ts:334Stable opaque edge node id backing the device key.

selection?

readonly optional selection?: EdgeSelectionExplanation
Defined in: packages/core/src/edge/placement.ts:340Redacted explanation when declarative selection chose the device.
@fentaris/core / DeviceResolverDefined in: packages/core/src/edge/placement.ts:353Control-plane interface that maps logical selectors onto enrolled devices.Implementations own device aliases, pool membership, subject grants, health, capacity, and default-device preferences. Each method resolves only devices eligible for the authenticated subject, tenant, target, deployment, and current connection state, returning null for “no eligible device” so fallback selectors can proceed.

Methods

resolveDeclarativeDevice()?

optional resolveDeclarativeDevice(selection, context): Promise<DeviceResolution & object | null>
Defined in: packages/core/src/edge/placement.ts:361Resolve typed requirements/preferences against the current authorized inventory.

Parameters

selection
EdgeSelectionRequest
context
DeviceResolverContext

Returns

Promise<DeviceResolution & object | null>

resolveNamedAlias()

resolveNamedAlias(alias, context): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/placement.ts:370Resolve a control-plane named alias to a device.

Parameters

alias
string
context
DeviceResolverContext

Returns

Promise<DeviceResolution | null>

resolvePool()

resolvePool(pool, strategy, context): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/placement.ts:372Resolve one eligible device from a shared pool using strategy.

Parameters

pool
string
strategy
TargetSelectionStrategy | undefined
context
DeviceResolverContext

Returns

Promise<DeviceResolution | null>

resolveSelectedDevice()?

optional resolveSelectedDevice(edgeNodeId, inventoryVersion, context): Promise<DeviceResolution & object | null>
Defined in: packages/core/src/edge/placement.ts:355Revalidate and resolve a durable pre-pin selection by opaque node id.

Parameters

edgeNodeId
string
inventoryVersion
number
context
DeviceResolverContext

Returns

Promise<DeviceResolution & object | null>

resolveSessionDevice()?

optional resolveSessionDevice(context): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/placement.ts:366Resolve the device requested during downstream session establishment.

Parameters

context
DeviceResolverContext

Returns

Promise<DeviceResolution | null>

resolveUserDefaultDevice()?

optional resolveUserDefaultDevice(context): Promise<DeviceResolution | null>
Defined in: packages/core/src/edge/placement.ts:368Resolve the subject’s configured default device.

Parameters

context
DeviceResolverContext

Returns

Promise<DeviceResolution | null>
@fentaris/core / DeviceResolverContextDefined in: packages/core/src/edge/placement.ts:316Context passed to a DeviceResolver when resolving a selector.Carries only non-sensitive routing metadata. Physical device identities are never embedded in application code; the control plane maps the logical selector onto an enrolled device.

Properties

declarativeSelection?

readonly optional declarativeSelection?: EdgeSelectionRequest
Defined in: packages/core/src/edge/placement.ts:328Optional typed declarative selection supplied for this first pin.

requestedDeviceId?

readonly optional requestedDeviceId?: string
Defined in: packages/core/src/edge/placement.ts:324Device id requested during downstream session establishment, if any.

strategy?

readonly optional strategy?: TargetSelectionStrategy
Defined in: packages/core/src/edge/placement.ts:326Pool selection strategy declared on the target, if any.

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/placement.ts:318Authenticated subject id, if known.

targetName

readonly targetName: string
Defined in: packages/core/src/edge/placement.ts:322Target name being resolved.

tenantId?

readonly optional tenantId?: string
Defined in: packages/core/src/edge/placement.ts:320Tenant id, if known.
@fentaris/core / DeviceSelectorDefined in: packages/core/src/edge/target.ts:43A serializable, composable device selector. Selector instances carry an or method on the prototype (not serialized) but expose only data fields through JSON.stringify, so they remain plain-data across the control-plane boundary.

Properties

alias?

readonly optional alias?: string
Defined in: packages/core/src/edge/target.ts:46Alias for a named selector.

pool?

readonly optional pool?: string
Defined in: packages/core/src/edge/target.ts:48Pool name for a pool selector.

selectors?

readonly optional selectors?: readonly DeviceSelector[]
Defined in: packages/core/src/edge/target.ts:52Ordered selectors for a fallback selector; first eligible wins.

strategy?

readonly optional strategy?: TargetSelectionStrategy
Defined in: packages/core/src/edge/target.ts:50Selection strategy for a pool selector.

type

readonly type: DeviceSelectorType
Defined in: packages/core/src/edge/target.ts:44
@fentaris/core / EdgeAdapterDiagnosticsDefined in: packages/core/src/edge/inventory.ts:161Diagnostics every replaceable Edge adapter exposes.

Properties

adapter

readonly adapter: string
Defined in: packages/core/src/edge/inventory.ts:162

durable

readonly durable: boolean
Defined in: packages/core/src/edge/inventory.ts:163

multiInstance

readonly multiInstance: boolean
Defined in: packages/core/src/edge/inventory.ts:164

productionReady

readonly productionReady: boolean
Defined in: packages/core/src/edge/inventory.ts:165

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/inventory.ts:166
@fentaris/core / EdgeAggregateApprovalContextDefined in: packages/core/src/edge/fanout.ts:59

Properties

argumentSummary

readonly argumentSummary: object
Defined in: packages/core/src/edge/fanout.ts:61

bytes

readonly bytes: number

keys

readonly keys: readonly string[]

concurrency

readonly concurrency: number
Defined in: packages/core/src/edge/fanout.ts:64

deadlineMs

readonly deadlineMs: number
Defined in: packages/core/src/edge/fanout.ts:65

devices

readonly devices: readonly EdgePublicDeviceRef[]
Defined in: packages/core/src/edge/fanout.ts:62

failurePolicy

readonly failurePolicy: "collect" | "fail-fast"
Defined in: packages/core/src/edge/fanout.ts:63

tool

readonly tool: string
Defined in: packages/core/src/edge/fanout.ts:60
@fentaris/core / EdgeApprovalServiceDefined in: packages/core/src/edge/integratedServices.ts:78Operator approval service.

Methods

approve()

approve(userCode, decision): Promise<EdgeAuthorizationSession>
Defined in: packages/core/src/edge/integratedServices.ts:79

Parameters

userCode
string
decision
EdgeDeviceApprovalDecision

Returns

Promise<EdgeAuthorizationSession>

deny()

deny(userCode, decision): Promise<EdgeAuthorizationSession>
Defined in: packages/core/src/edge/integratedServices.ts:80

Parameters

userCode
string
decision
Omit<EdgeDeviceApprovalDecision, "subjectId"> & object

Returns

Promise<EdgeAuthorizationSession>
@fentaris/core / EdgeAssignmentResolverDefined in: packages/core/src/edge/integratedConfig.ts:97Optional managed assignment resolver for subjects that cannot be enumerated statically from application configuration.

Properties

diagnostics?

readonly optional diagnostics?: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/integratedConfig.ts:98

Methods

resolveEligibleDevices()

resolveEligibleDevices(input): Promise<readonly string[]>
Defined in: packages/core/src/edge/integratedConfig.ts:99

Parameters

input
deploymentId
string
serverName
string
subjectId
string
tenantId
string

Returns

Promise<readonly string[]>
@fentaris/core / EdgeCapabilityCacheStoreDefined in: packages/core/src/edge/capabilityCache.ts:24

Methods

delete()

delete(tenantId, deploymentId): Promise<void>
Defined in: packages/core/src/edge/capabilityCache.ts:27

Parameters

tenantId
string
deploymentId
string

Returns

Promise<void>

get()

get(tenantId, deploymentId): Promise<EdgeCapabilityManifest | undefined>
Defined in: packages/core/src/edge/capabilityCache.ts:25

Parameters

tenantId
string
deploymentId
string

Returns

Promise<EdgeCapabilityManifest | undefined>

put()

put(manifest): Promise<void>
Defined in: packages/core/src/edge/capabilityCache.ts:26

Parameters

manifest
EdgeCapabilityManifest

Returns

Promise<void>
@fentaris/core / EdgeCapabilityManifestDefined in: packages/core/src/edge/capabilityCache.ts:10

Properties

capturedAt

readonly capturedAt: number
Defined in: packages/core/src/edge/capabilityCache.ts:16

connectionGeneration?

readonly optional connectionGeneration?: number
Defined in: packages/core/src/edge/capabilityCache.ts:13

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/capabilityCache.ts:14

edgeNodeId?

readonly optional edgeNodeId?: string
Defined in: packages/core/src/edge/capabilityCache.ts:12

prompts

readonly prompts: object[]
Defined in: packages/core/src/edge/capabilityCache.ts:20

_meta?

optional _meta?: object
Index Signature
[key: string]: unknown

arguments?

optional arguments?: object[]

description?

optional description?: string

icons?

optional icons?: object[]

name

name: string

title?

optional title?: string

recipeDigest

readonly recipeDigest: string
Defined in: packages/core/src/edge/capabilityCache.ts:15

resources

readonly resources: object[]
Defined in: packages/core/src/edge/capabilityCache.ts:18

_meta?

optional _meta?: object
Index Signature
[key: string]: unknown

annotations?

optional annotations?: object
annotations.audience?
optional audience?: ("user" | "assistant")[]
annotations.lastModified?
optional lastModified?: string
annotations.priority?
optional priority?: number

description?

optional description?: string

icons?

optional icons?: object[]

mimeType?

optional mimeType?: string

name

name: string

size?

optional size?: number

title?

optional title?: string

uri

uri: string

resourceTemplates

readonly resourceTemplates: object[]
Defined in: packages/core/src/edge/capabilityCache.ts:19

_meta?

optional _meta?: object
Index Signature
[key: string]: unknown

annotations?

optional annotations?: object
annotations.audience?
optional audience?: ("user" | "assistant")[]
annotations.lastModified?
optional lastModified?: string
annotations.priority?
optional priority?: number

description?

optional description?: string

icons?

optional icons?: object[]

mimeType?

optional mimeType?: string

name

name: string

title?

optional title?: string

uriTemplate

uriTemplate: string

supportsCompletion

readonly supportsCompletion: boolean
Defined in: packages/core/src/edge/capabilityCache.ts:21

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/capabilityCache.ts:11

tools

readonly tools: object[]
Defined in: packages/core/src/edge/capabilityCache.ts:17

_meta?

optional _meta?: object
Index Signature
[key: string]: unknown

annotations?

optional annotations?: object
annotations.destructiveHint?
optional destructiveHint?: boolean
annotations.idempotentHint?
optional idempotentHint?: boolean
annotations.openWorldHint?
optional openWorldHint?: boolean
annotations.readOnlyHint?
optional readOnlyHint?: boolean
annotations.title?
optional title?: string

description?

optional description?: string

execution?

optional execution?: object
execution.taskSupport?
optional taskSupport?: "optional" | "required" | "forbidden"

icons?

optional icons?: object[]

inputSchema

inputSchema: object
Index Signature
[key: string]: unknown
inputSchema.properties?
optional properties?: object
Index Signature
[key: string]: object
inputSchema.required?
optional required?: string[]
inputSchema.type
type: "object"

name

name: string

outputSchema?

optional outputSchema?: object
Index Signature
[key: string]: unknown
outputSchema.properties?
optional properties?: object
Index Signature
[key: string]: object
outputSchema.required?
optional required?: string[]
outputSchema.type
type: "object"

title?

optional title?: string
@fentaris/core / EdgeCapabilityManifestMessageDefined in: packages/core/src/edge/controlProtocol.ts:184Common trusted routing claims carried by edge control messages.

Extends

  • EdgeProtocolClaims

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/controlProtocol.ts:187

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

kind

readonly kind: "edge.capability-manifest"
Defined in: packages/core/src/edge/controlProtocol.ts:186

prompts

readonly prompts: readonly unknown[]
Defined in: packages/core/src/edge/controlProtocol.ts:192

recipeDigest

readonly recipeDigest: string
Defined in: packages/core/src/edge/controlProtocol.ts:188

resources

readonly resources: readonly unknown[]
Defined in: packages/core/src/edge/controlProtocol.ts:190

resourceTemplates

readonly resourceTemplates: readonly unknown[]
Defined in: packages/core/src/edge/controlProtocol.ts:191

supportsCompletion

readonly supportsCompletion: boolean
Defined in: packages/core/src/edge/controlProtocol.ts:193

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

tools

readonly tools: readonly unknown[]
Defined in: packages/core/src/edge/controlProtocol.ts:189

version

readonly version: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:185
@fentaris/core / EdgeCapabilityManifestStoreDefined in: packages/core/src/edge/controlPlane.ts:127Replaceable capability-manifest cache contract.

Methods

delete()

delete(tenantId, edgeNodeId, deploymentId): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:130

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<void>

get()

get(tenantId, edgeNodeId, deploymentId): Promise<EdgeCapabilityManifestMessage | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:128

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<EdgeCapabilityManifestMessage | undefined>

put()

put(manifest): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:129

Parameters

manifest
EdgeCapabilityManifestMessage

Returns

Promise<void>
@fentaris/core / EdgeCapacitySnapshotDefined in: packages/core/src/edge/inventory.ts:63Dynamic execution capacity reported by an authenticated Edge agent.

Properties

available

readonly available: number
Defined in: packages/core/src/edge/inventory.ts:65

maxConcurrent

readonly maxConcurrent: number
Defined in: packages/core/src/edge/inventory.ts:64

reportedAt

readonly reportedAt: number
Defined in: packages/core/src/edge/inventory.ts:66
@fentaris/core / EdgeChannelBrokerDefined in: packages/core/src/edge/controlPlane.ts:152Replaceable distributed edge channel broker contract.

Properties

diagnostics?

readonly optional diagnostics?: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/controlPlane.ts:153

Methods

publish()

publish(channel, message): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:154

Parameters

channel
string
message
string

Returns

Promise<void>

subscribe()

subscribe(channel, handler): () => void
Defined in: packages/core/src/edge/controlPlane.ts:155

Parameters

channel
string
handler
(message) => void

Returns

() => void
@fentaris/core / EdgeChildBindingDefined in: packages/core/src/edge/inventory.ts:146Isolated placement binding for an explicit orchestration child.

Properties

childBindingId

readonly childBindingId: string
Defined in: packages/core/src/edge/inventory.ts:147

childRequestId

readonly childRequestId: string
Defined in: packages/core/src/edge/inventory.ts:150

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/inventory.ts:155

createdAt

readonly createdAt: number
Defined in: packages/core/src/edge/inventory.ts:156

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/inventory.ts:154

expiresAt

readonly expiresAt: number
Defined in: packages/core/src/edge/inventory.ts:157

parentRequestId

readonly parentRequestId: string
Defined in: packages/core/src/edge/inventory.ts:149

parentSessionId

readonly parentSessionId: string
Defined in: packages/core/src/edge/inventory.ts:148

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/inventory.ts:152

targetName

readonly targetName: string
Defined in: packages/core/src/edge/inventory.ts:153

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/inventory.ts:151
@fentaris/core / EdgeChildBindingAllocationDefined in: packages/core/src/edge/sessionSelection.ts:86

Properties

childRequestId?

readonly optional childRequestId?: string
Defined in: packages/core/src/edge/sessionSelection.ts:95

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/sessionSelection.ts:93

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/sessionSelection.ts:92

parentRequestId

readonly parentRequestId: string
Defined in: packages/core/src/edge/sessionSelection.ts:88

parentSessionId

readonly parentSessionId: string
Defined in: packages/core/src/edge/sessionSelection.ts:87

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/sessionSelection.ts:90

targetName

readonly targetName: string
Defined in: packages/core/src/edge/sessionSelection.ts:91

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/sessionSelection.ts:89

ttlMs

readonly ttlMs: number
Defined in: packages/core/src/edge/sessionSelection.ts:94
@fentaris/core / EdgeChildBindingCleanupDefined in: packages/core/src/edge/sessionSelection.ts:98

Methods

cleanup()

cleanup(binding, reason): void | Promise<void>
Defined in: packages/core/src/edge/sessionSelection.ts:99

Parameters

binding
EdgeChildBinding
reason
EdgeChildBindingTerminalReason

Returns

void | Promise<void>
@fentaris/core / EdgeChildBindingManagerOptionsDefined in: packages/core/src/edge/sessionSelection.ts:102

Properties

cleanup?

readonly optional cleanup?: EdgeChildBindingCleanup
Defined in: packages/core/src/edge/sessionSelection.ts:104

createId?

readonly optional createId?: () => string
Defined in: packages/core/src/edge/sessionSelection.ts:106

Returns

string

now?

readonly optional now?: () => number
Defined in: packages/core/src/edge/sessionSelection.ts:105

Returns

number

store

readonly store: EdgeChildBindingStore
Defined in: packages/core/src/edge/sessionSelection.ts:103
@fentaris/core / EdgeChildBindingStoreDefined in: packages/core/src/edge/inventory.ts:210Replaceable isolated child-binding store.

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/inventory.ts:211

Methods

allocate()

allocate(input): Promise<EdgeChildBinding>
Defined in: packages/core/src/edge/inventory.ts:212

Parameters

input
Omit<EdgeChildBinding, "childBindingId"> & object

Returns

Promise<EdgeChildBinding>

delete()

delete(childBindingId): Promise<EdgeChildBinding | undefined>
Defined in: packages/core/src/edge/inventory.ts:214

Parameters

childBindingId
string

Returns

Promise<EdgeChildBinding | undefined>

deleteParent()

deleteParent(parentSessionId, parentRequestId?): Promise<readonly EdgeChildBinding[]>
Defined in: packages/core/src/edge/inventory.ts:215

Parameters

parentSessionId
string
parentRequestId?
string

Returns

Promise<readonly EdgeChildBinding[]>

get()

get(childBindingId): Promise<EdgeChildBinding | undefined>
Defined in: packages/core/src/edge/inventory.ts:213

Parameters

childBindingId
string

Returns

Promise<EdgeChildBinding | undefined>

purgeExpired()

purgeExpired(evaluatedAt): Promise<readonly EdgeChildBinding[]>
Defined in: packages/core/src/edge/inventory.ts:216

Parameters

evaluatedAt
number

Returns

Promise<readonly EdgeChildBinding[]>
@fentaris/core / EdgeConnectionRecordDefined in: packages/core/src/edge/controlPlane.ts:77Authenticated active edge connection record.

Properties

connectedAt

readonly connectedAt: number
Defined in: packages/core/src/edge/controlPlane.ts:83

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlPlane.ts:81

connectionId

readonly connectionId: string
Defined in: packages/core/src/edge/controlPlane.ts:80

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlPlane.ts:79

lastHeartbeatAt

readonly lastHeartbeatAt: number
Defined in: packages/core/src/edge/controlPlane.ts:84

protocolVersion

readonly protocolVersion: number
Defined in: packages/core/src/edge/controlPlane.ts:82

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlPlane.ts:78
@fentaris/core / EdgeConnectionStoreDefined in: packages/core/src/edge/controlPlane.ts:134Replaceable active-connection store contract.

Methods

bind()

bind(connection): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:136

Parameters

connection
EdgeConnectionRecord

Returns

Promise<void>

get()

get(tenantId, edgeNodeId): Promise<EdgeConnectionRecord | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:135

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeConnectionRecord | undefined>

heartbeat()

heartbeat(tenantId, edgeNodeId, generation, at): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:137

Parameters

tenantId
string
edgeNodeId
string
generation
number
at
number

Returns

Promise<void>

remove()

remove(tenantId, edgeNodeId, generation): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:138

Parameters

tenantId
string
edgeNodeId
string
generation
number

Returns

Promise<void>
@fentaris/core / EdgeConnectionTerminatorDefined in: packages/core/src/edge/controlPlane.ts:142Control path that terminates the authenticated channel for one generation.

Methods

disconnect()

disconnect(tenantId, edgeNodeId, connectionGeneration, reason): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:143

Parameters

tenantId
string
edgeNodeId
string
connectionGeneration
number
reason
"revoked" | "operator-disconnect"

Returns

Promise<void>
@fentaris/core / EdgeControlDeviceSummaryDefined in: packages/core/src/edge/controlProvider.ts:28

Properties

description?

readonly optional description?: string
Defined in: packages/core/src/edge/controlProvider.ts:30

device

readonly device: object
Defined in: packages/core/src/edge/controlProvider.ts:29

inventoryVersion

readonly inventoryVersion: number

name

readonly name: string

executionFeatures?

readonly optional executionFeatures?: readonly string[]
Defined in: packages/core/src/edge/controlProvider.ts:35

heartbeatFresh

readonly heartbeatFresh: boolean
Defined in: packages/core/src/edge/controlProvider.ts:32

metadata?

readonly optional metadata?: object
Defined in: packages/core/src/edge/controlProvider.ts:38

agent

readonly agent: readonly string[]

controlPlane

readonly controlPlane: readonly string[]

user

readonly user: readonly string[]

platform?

readonly optional platform?: string
Defined in: packages/core/src/edge/controlProvider.ts:34

pools?

readonly optional pools?: readonly string[]
Defined in: packages/core/src/edge/controlProvider.ts:36

readiness?

readonly optional readiness?: readonly EdgePublicReadinessSummary[]
Defined in: packages/core/src/edge/controlProvider.ts:37

status

readonly status: string
Defined in: packages/core/src/edge/controlProvider.ts:31

tags?

readonly optional tags?: readonly string[]
Defined in: packages/core/src/edge/controlProvider.ts:33

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/controlProvider.ts:43
@fentaris/core / EdgeControlGetResultDefined in: packages/core/src/edge/controlProvider.ts:46

Properties

device

readonly device: EdgeControlDeviceSummary
Defined in: packages/core/src/edge/controlProvider.ts:47

nextActions

readonly nextActions: readonly string[]
Defined in: packages/core/src/edge/controlProvider.ts:48
@fentaris/core / EdgeControlInvocationRequestDefined in: packages/core/src/edge/controlProvider.ts:59

Properties

arguments

readonly arguments: Readonly<Record<string, unknown>>
Defined in: packages/core/src/edge/controlProvider.ts:61

context

readonly context: ProxyContext
Defined in: packages/core/src/edge/controlProvider.ts:60
@fentaris/core / EdgeControlInvokerDefined in: packages/core/src/edge/controlProvider.ts:64

Methods

call()

call(request): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/edge/controlProvider.ts:65

Parameters

request
EdgeControlInvocationRequest

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

callMany()

callMany(request): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/edge/controlProvider.ts:66

Parameters

request
EdgeControlInvocationRequest

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
@fentaris/core / EdgeControlListResultDefined in: packages/core/src/edge/controlProvider.ts:21

Properties

devices

readonly devices: readonly EdgeControlDeviceSummary[]
Defined in: packages/core/src/edge/controlProvider.ts:22

nextActions

readonly nextActions: readonly string[]
Defined in: packages/core/src/edge/controlProvider.ts:25

nextCursor?

readonly optional nextCursor?: string
Defined in: packages/core/src/edge/controlProvider.ts:23

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/controlProvider.ts:24
@fentaris/core / EdgeControlPlaneServiceDefined in: packages/core/src/edge/management.ts:65Replaceable control-plane service used by CLI and Edge Control providers.

Methods

disconnect()

disconnect(context, deviceName): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:74

Parameters

context
EdgeManagementContext
deviceName
string

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

get()

get(context, deviceName): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:73

Parameters

context
EdgeManagementContext
deviceName
string

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

join()

join(request): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:66

Parameters

request
EdgeJoinRequest

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

list()

list(context, options?): Promise<EdgeManagementPage<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:72

Parameters

context
EdgeManagementContext
options?
EdgeInventoryListOptions

Returns

Promise<EdgeManagementPage<EdgeManagedDeviceView>>

revoke()

revoke(context, deviceName): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:75

Parameters

context
EdgeManagementContext
deviceName
string

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>

update()

update(context, deviceName, update): Promise<EdgeManagementResult<EdgeManagedDeviceView>>
Defined in: packages/core/src/edge/management.ts:67

Parameters

context
EdgeManagementContext
deviceName
string
update
EdgeInventoryUpdate

Returns

Promise<EdgeManagementResult<EdgeManagedDeviceView>>
@fentaris/core / EdgeControlProviderOptionsDefined in: packages/core/src/edge/controlProvider.ts:69

Properties

approveOrchestration?

readonly optional approveOrchestration?: (approval, context) => boolean | Promise<boolean>
Defined in: packages/core/src/edge/controlProvider.ts:75

Parameters

approval
EdgeAggregateApprovalContext
context
ProxyContext

Returns

boolean | Promise<boolean>

defaultTargetName?

readonly optional defaultTargetName?: string
Defined in: packages/core/src/edge/controlProvider.ts:73

inventory

readonly inventory: EdgeInventoryService
Defined in: packages/core/src/edge/controlProvider.ts:70

invoker?

readonly optional invoker?: EdgeControlInvoker
Defined in: packages/core/src/edge/controlProvider.ts:72

limits?

readonly optional limits?: Partial<EdgeOrchestrationLimits>
Defined in: packages/core/src/edge/controlProvider.ts:74

selections

readonly selections: EdgeSessionSelectionService
Defined in: packages/core/src/edge/controlProvider.ts:71
@fentaris/core / EdgeControlSelectResultDefined in: packages/core/src/edge/controlProvider.ts:51

Properties

device

readonly device: object
Defined in: packages/core/src/edge/controlProvider.ts:53

inventoryVersion

readonly inventoryVersion: number

name

readonly name: string

expiresAt

readonly expiresAt: number
Defined in: packages/core/src/edge/controlProvider.ts:54

explanation?

readonly optional explanation?: unknown
Defined in: packages/core/src/edge/controlProvider.ts:55

nextActions

readonly nextActions: readonly string[]
Defined in: packages/core/src/edge/controlProvider.ts:56

target

readonly target: string
Defined in: packages/core/src/edge/controlProvider.ts:52
@fentaris/core / EdgeDeploymentReadinessDefined in: packages/core/src/edge/inventory.ts:112Per-device deployment readiness without grant values or local paths.

Properties

attemptId?

readonly optional attemptId?: string
Defined in: packages/core/src/edge/inventory.ts:126

connectionGeneration?

readonly optional connectionGeneration?: number
Defined in: packages/core/src/edge/inventory.ts:116

credentialId?

readonly optional credentialId?: string
Defined in: packages/core/src/edge/inventory.ts:115

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/inventory.ts:117

desiredVersion?

readonly optional desiredVersion?: number
Defined in: packages/core/src/edge/inventory.ts:120

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/inventory.ts:114

expiresAt?

readonly optional expiresAt?: number
Defined in: packages/core/src/edge/inventory.ts:128

installationDigest?

readonly optional installationDigest?: `sha256:${string}`
Defined in: packages/core/src/edge/inventory.ts:121

installationState?

readonly optional installationState?: InstallationLifecycleState
Defined in: packages/core/src/edge/inventory.ts:123

launchDigest?

readonly optional launchDigest?: string
Defined in: packages/core/src/edge/inventory.ts:122

nextActions?

readonly optional nextActions?: readonly string[]
Defined in: packages/core/src/edge/inventory.ts:130

observedAt

readonly observedAt: number
Defined in: packages/core/src/edge/inventory.ts:127

reasonCategory?

readonly optional reasonCategory?: string
Defined in: packages/core/src/edge/inventory.ts:129

reasonCode?

readonly optional reasonCode?: InstallationReasonCode
Defined in: packages/core/src/edge/inventory.ts:124

recipeVersion?

readonly optional recipeVersion?: number
Defined in: packages/core/src/edge/inventory.ts:119

retryable?

readonly optional retryable?: boolean
Defined in: packages/core/src/edge/inventory.ts:125

status

readonly status: EdgeDeploymentReadinessStatus
Defined in: packages/core/src/edge/inventory.ts:118

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/inventory.ts:113
@fentaris/core / EdgeDesiredAssignmentStoreDefined in: packages/core/src/edge/integratedServices.ts:108Desired-state assignment store with compare-and-swap semantics.

Methods

compareAndSwap()

compareAndSwap(snapshot, expectedVersion): Promise<"unchanged" | "updated" | "conflict">
Defined in: packages/core/src/edge/integratedServices.ts:110

Parameters

snapshot
EdgeDesiredAssignmentSnapshot
expectedVersion
number | undefined

Returns

Promise<"unchanged" | "updated" | "conflict">

get()

get(tenantId, edgeNodeId): Promise<EdgeDesiredAssignmentSnapshot | undefined>
Defined in: packages/core/src/edge/integratedServices.ts:109

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeDesiredAssignmentSnapshot | undefined>

remove()

remove(tenantId, edgeNodeId): Promise<void>
Defined in: packages/core/src/edge/integratedServices.ts:114

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<void>
@fentaris/core / EdgeDesiredDeploymentDefined in: packages/core/src/edge/controlProtocol.ts:95

Properties

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/controlProtocol.ts:96

installationDigest?

readonly optional installationDigest?: `sha256:${string}`
Defined in: packages/core/src/edge/controlProtocol.ts:103

installationRecipe?

readonly optional installationRecipe?: InstallationRecipe
Defined in: packages/core/src/edge/controlProtocol.ts:102Optional managed installation recipe, carried only by protocol v3.

launchDigest?

readonly optional launchDigest?: string
Defined in: packages/core/src/edge/controlProtocol.ts:100Correlation identity for the launch recipe. Required for protocol v3 managed installations.

recipe

readonly recipe: LaunchRecipe
Defined in: packages/core/src/edge/controlProtocol.ts:98

requiresAgentUpgrade?

readonly optional requiresAgentUpgrade?: boolean
Defined in: packages/core/src/edge/controlProtocol.ts:105Compatibility marker sent instead of a recipe to older agents.

serverName

readonly serverName: string
Defined in: packages/core/src/edge/controlProtocol.ts:97

setupSchema

readonly setupSchema: SetupSchema
Defined in: packages/core/src/edge/controlProtocol.ts:107Complete unresolved setup schema collected locally by the edge agent.

setupSchemaVersion?

readonly optional setupSchemaVersion?: number
Defined in: packages/core/src/edge/controlProtocol.ts:108

subjectIds?

readonly optional subjectIds?: readonly string[]
Defined in: packages/core/src/edge/controlProtocol.ts:109
@fentaris/core / EdgeDesiredStateAckMessageDefined in: packages/core/src/edge/controlProtocol.ts:119Common trusted routing claims carried by edge control messages.

Extends

  • EdgeProtocolClaims

Properties

blockedDeploymentIds?

readonly optional blockedDeploymentIds?: readonly string[]
Defined in: packages/core/src/edge/controlProtocol.ts:124

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

deploymentDigests?

readonly optional deploymentDigests?: Readonly<Record<string, { installationDigest?: `sha256:${string}`; launchDigest: string; }>>
Defined in: packages/core/src/edge/controlProtocol.ts:125

desiredVersion

readonly desiredVersion: number
Defined in: packages/core/src/edge/controlProtocol.ts:122

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

kind

readonly kind: "edge.desired-state.ack"
Defined in: packages/core/src/edge/controlProtocol.ts:121

status

readonly status: "blocked" | "applied"
Defined in: packages/core/src/edge/controlProtocol.ts:123

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:120
@fentaris/core / EdgeDesiredStateMessageDefined in: packages/core/src/edge/controlProtocol.ts:112Common trusted routing claims carried by edge control messages.

Extends

  • EdgeProtocolClaims

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

deployments

readonly deployments: readonly EdgeDesiredDeployment[]
Defined in: packages/core/src/edge/controlProtocol.ts:116

desiredVersion

readonly desiredVersion: number
Defined in: packages/core/src/edge/controlProtocol.ts:115

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

kind

readonly kind: "edge.desired-state"
Defined in: packages/core/src/edge/controlProtocol.ts:114

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:113
@fentaris/core / EdgeDesiredStateStoreDefined in: packages/core/src/edge/controlPlane.ts:105Replaceable desired-state store contract.

Methods

acknowledge()

acknowledge(ack): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:108

Parameters

ack
EdgeDesiredStateAckMessage

Returns

Promise<void>

acknowledgedVersion()

acknowledgedVersion(tenantId, edgeNodeId): Promise<number | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:109

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<number | undefined>

get()

get(tenantId, edgeNodeId): Promise<EdgeDesiredStateMessage | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:106

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeDesiredStateMessage | undefined>

publish()

publish(state): Promise<"published" | "unchanged">
Defined in: packages/core/src/edge/controlPlane.ts:107

Parameters

state
EdgeDesiredStateMessage

Returns

Promise<"published" | "unchanged">
@fentaris/core / EdgeDeviceAliasDefined in: packages/core/src/edge/inventory.ts:49A retained public alias with an optional expiry.

Properties

expiresAt?

readonly optional expiresAt?: number
Defined in: packages/core/src/edge/inventory.ts:53

name

readonly name: string
Defined in: packages/core/src/edge/inventory.ts:50

normalizedName

readonly normalizedName: string
Defined in: packages/core/src/edge/inventory.ts:51

retainedAt

readonly retainedAt: number
Defined in: packages/core/src/edge/inventory.ts:52
@fentaris/core / EdgeDeviceApprovalAdapterDefined in: packages/core/src/edge/integratedConfig.ts:86Replaceable approval adapter used by managed consoles or identity systems.

Properties

diagnostics?

readonly optional diagnostics?: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/integratedConfig.ts:87

Methods

approve()

approve(userCode, decision): Promise<void>
Defined in: packages/core/src/edge/integratedConfig.ts:88

Parameters

userCode
string
decision
EdgeDeviceApprovalDecision

Returns

Promise<void>

deny()?

optional deny(userCode, decision): Promise<void>
Defined in: packages/core/src/edge/integratedConfig.ts:89

Parameters

userCode
string
decision
Omit<EdgeDeviceApprovalDecision, "subjectId"> & object

Returns

Promise<void>
@fentaris/core / EdgeDeviceAuthorizationServiceDefined in: packages/core/src/edge/integratedServices.ts:54Device authorization domain service.

Methods

begin()

begin(request): Promise<EdgeDeviceAuthorizeResponse>
Defined in: packages/core/src/edge/integratedServices.ts:55

Parameters

request
EdgeDeviceAuthorizeRequest

Returns

Promise<EdgeDeviceAuthorizeResponse>

getPendingByUserCode()

getPendingByUserCode(userCode): Promise<EdgeAuthorizationSession | undefined>
Defined in: packages/core/src/edge/integratedServices.ts:61

Parameters

userCode
string

Returns

Promise<EdgeAuthorizationSession | undefined>

poll()

poll(request): Promise<{ interval?: number; status: "pending" | "slow-down"; } | { status: "authorized"; tokens: EdgeControlPlaneTokenResponse; } | { status: "denied" | "expired"; }>
Defined in: packages/core/src/edge/integratedServices.ts:56

Parameters

request
EdgeDeviceTokenRequest

Returns

Promise<{ interval?: number; status: "pending" | "slow-down"; } | { status: "authorized"; tokens: EdgeControlPlaneTokenResponse; } | { status: "denied" | "expired"; }>
@fentaris/core / EdgeDeviceRecordDefined in: packages/core/src/edge/controlPlane.ts:20Registered edge device record owned by the control plane.

Extended by

  • EdgeInventoryRecord

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlPlane.ts:26

credentialId

readonly credentialId: string
Defined in: packages/core/src/edge/controlPlane.ts:23

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlPlane.ts:22

inventorySchemaVersion?

readonly optional inventorySchemaVersion?: 1
Defined in: packages/core/src/edge/controlPlane.ts:28

inventoryVersion?

readonly optional inventoryVersion?: number
Defined in: packages/core/src/edge/controlPlane.ts:29

lastSeenAt?

readonly optional lastSeenAt?: number
Defined in: packages/core/src/edge/controlPlane.ts:27

managed?

readonly optional managed?: EdgeManagedMetadata
Defined in: packages/core/src/edge/controlPlane.ts:32

observed?

readonly optional observed?: EdgeObservedFacts
Defined in: packages/core/src/edge/controlPlane.ts:31

revoked

readonly revoked: boolean
Defined in: packages/core/src/edge/controlPlane.ts:25

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/controlPlane.ts:24

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlPlane.ts:21

user?

readonly optional user?: EdgeUserMetadata
Defined in: packages/core/src/edge/controlPlane.ts:30
@fentaris/core / EdgeDeviceRegistryDefined in: packages/core/src/edge/controlPlane.ts:88Replaceable device registry contract.

Properties

diagnostics?

readonly optional diagnostics?: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/controlPlane.ts:89

Methods

get()

get(tenantId, edgeNodeId): Promise<EdgeDeviceRecord | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:90

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeDeviceRecord | undefined>

getByName()

getByName(tenantId, name, at?): Promise<EdgeDeviceRecord | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:91

Parameters

tenantId
string
name
string
at?
number

Returns

Promise<EdgeDeviceRecord | undefined>

list()

list(tenantId, options?): Promise<EdgeInventoryListPage>
Defined in: packages/core/src/edge/controlPlane.ts:94

Parameters

tenantId
string
options?
EdgeInventoryListOptions

Returns

Promise<EdgeInventoryListPage>

put()

put(device): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:92

Parameters

device
EdgeDeviceRecord

Returns

Promise<void>

revoke()

revoke(tenantId, edgeNodeId): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:101

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<void>

updateConnection()

updateConnection(tenantId, edgeNodeId, generation, lastSeenAt): Promise<EdgeDeviceRecord>
Defined in: packages/core/src/edge/controlPlane.ts:95

Parameters

tenantId
string
edgeNodeId
string
generation
number
lastSeenAt
number

Returns

Promise<EdgeDeviceRecord>

updateInventory()

updateInventory(tenantId, edgeNodeId, update): Promise<EdgeInventoryRecord>
Defined in: packages/core/src/edge/controlPlane.ts:93

Parameters

tenantId
string
edgeNodeId
string
update
EdgeInventoryUpdate

Returns

Promise<EdgeInventoryRecord>
@fentaris/core / EdgeDiscoveryStateDefined in: packages/core/src/edge/capabilityCache.ts:30

Properties

cacheAgeMs?

readonly optional cacheAgeMs?: number
Defined in: packages/core/src/edge/capabilityCache.ts:33

diagnostic?

readonly optional diagnostic?: string
Defined in: packages/core/src/edge/capabilityCache.ts:32

manifest?

readonly optional manifest?: EdgeCapabilityManifest
Defined in: packages/core/src/edge/capabilityCache.ts:34

status

readonly status: "ready" | "setup-required" | "offline-cached"
Defined in: packages/core/src/edge/capabilityCache.ts:31
@fentaris/core / EdgeDispatchDeviceResolutionDefined in: packages/core/src/edge/inventoryService.ts:146Internal dispatch resolution returned only after current-state revalidation.

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/inventoryService.ts:149

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/inventoryService.ts:148

inventoryVersion

readonly inventoryVersion: number
Defined in: packages/core/src/edge/inventoryService.ts:150

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/inventoryService.ts:147
@fentaris/core / EdgeEnrolledDeviceStoreDefined in: packages/core/src/edge/integratedServices.ts:84Enrolled-device storage and lookup for gateway authentication.

Methods

get()

get(tenantId, edgeNodeId): Promise<EdgeEnrolledDeviceAuthority | undefined>
Defined in: packages/core/src/edge/integratedServices.ts:85

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgeEnrolledDeviceAuthority | undefined>

put()

put(device): Promise<void>
Defined in: packages/core/src/edge/integratedServices.ts:86

Parameters

device
EdgeEnrolledDeviceAuthority

Returns

Promise<void>

revoke()

revoke(tenantId, edgeNodeId, revokedAt): Promise<EdgeEnrolledDeviceAuthority | undefined>
Defined in: packages/core/src/edge/integratedServices.ts:87

Parameters

tenantId
string
edgeNodeId
string
revokedAt
number

Returns

Promise<EdgeEnrolledDeviceAuthority | undefined>
@fentaris/core / EdgeEnrollmentServiceDefined in: packages/core/src/edge/integratedServices.ts:91Enrollment domain service.

Methods

authenticateHello()

authenticateHello(proof): Promise<EdgeAuthenticatedHelloResult>
Defined in: packages/core/src/edge/integratedServices.ts:94

Parameters

proof
EdgeAuthenticatedHelloProof

Returns

Promise<EdgeAuthenticatedHelloResult>

enroll()

enroll(request): Promise<EdgeEnrollResponse>
Defined in: packages/core/src/edge/integratedServices.ts:92

Parameters

request
EdgeEnrollRequest

Returns

Promise<EdgeEnrollResponse>

revoke()

revoke(request, accessToken): Promise<void>
Defined in: packages/core/src/edge/integratedServices.ts:93

Parameters

request
EdgeRevokeRequest
accessToken
string

Returns

Promise<void>
@fentaris/core / EdgeErrorDefined in: packages/core/src/edge/errors.ts:45A normalized edge error carrying a stable code and redacted details.

Extends

  • Error

Properties

cause?

optional cause?: unknown
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from

Error.cause

code

readonly code: EdgeErrorCode
Defined in: packages/core/src/edge/errors.ts:46

details?

readonly optional details?: Record<string, unknown>
Defined in: packages/core/src/edge/errors.ts:47

message

message: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from

Error.message

name

name: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from

Error.name

stack?

optional stack?: string
Defined in: node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.stack
@fentaris/core / EdgeExecutionTargetDefined in: packages/core/src/edge/target.ts:135Edge execution target: run on an enrolled device selected by device.

Properties

device

readonly device: DeviceSelector
Defined in: packages/core/src/edge/target.ts:138Device selector for this target.

kind

readonly kind: "edge"
Defined in: packages/core/src/edge/target.ts:136

strategy?

readonly optional strategy?: TargetSelectionStrategy
Defined in: packages/core/src/edge/target.ts:140Selection strategy for pool selectors declared on the target.
@fentaris/core / EdgeFanoutCoordinatorOptionsDefined in: packages/core/src/edge/fanout.ts:50

Properties

approve?

readonly optional approve?: (approval, context) => boolean | Promise<boolean>
Defined in: packages/core/src/edge/fanout.ts:56

Parameters

approval
EdgeAggregateApprovalContext
context
ProxyContext

Returns

boolean | Promise<boolean>

inventory

readonly inventory: EdgeInventoryService
Defined in: packages/core/src/edge/fanout.ts:51

limits?

readonly optional limits?: Partial<EdgeOrchestrationLimits>
Defined in: packages/core/src/edge/fanout.ts:53

now?

readonly optional now?: () => number
Defined in: packages/core/src/edge/fanout.ts:54

Returns

number

single

readonly single: EdgeSingleCallCoordinator
Defined in: packages/core/src/edge/fanout.ts:52

telemetry?

readonly optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/edge/fanout.ts:55
@fentaris/core / EdgeFanoutEntryDefined in: packages/core/src/edge/fanout.ts:31

Properties

correlationId?

readonly optional correlationId?: string
Defined in: packages/core/src/edge/fanout.ts:34

device

readonly device: EdgePublicDeviceRef
Defined in: packages/core/src/edge/fanout.ts:32

error?

readonly optional error?: object
Defined in: packages/core/src/edge/fanout.ts:36

code

readonly code: string

message

readonly message: string

outcome?

readonly optional outcome?: "indeterminate"

result?

readonly optional result?: object
Defined in: packages/core/src/edge/fanout.ts:35

Index Signature

[key: string]: unknown

_meta?

optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.

content

content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]

isError?

optional isError?: boolean

structuredContent?

optional structuredContent?: object
Index Signature
[key: string]: unknown

retryable?

readonly optional retryable?: false
Defined in: packages/core/src/edge/fanout.ts:37

status

readonly status: EdgeFanoutStatus
Defined in: packages/core/src/edge/fanout.ts:33
@fentaris/core / EdgeFanoutResultDefined in: packages/core/src/edge/fanout.ts:40

Properties

counts

readonly counts: Readonly<Record<EdgeFanoutStatus, number>>
Defined in: packages/core/src/edge/fanout.ts:44

failurePolicy

readonly failurePolicy: "collect" | "fail-fast"
Defined in: packages/core/src/edge/fanout.ts:42

nextActions

readonly nextActions: readonly string[]
Defined in: packages/core/src/edge/fanout.ts:47

resolvedDevices

readonly resolvedDevices: number
Defined in: packages/core/src/edge/fanout.ts:43

results

readonly results: readonly EdgeFanoutEntry[]
Defined in: packages/core/src/edge/fanout.ts:45

status

readonly status: "failed" | "cancelled" | "succeeded" | "partial"
Defined in: packages/core/src/edge/fanout.ts:41

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/fanout.ts:46
@fentaris/core / EdgeGatewayAuthenticatorDefined in: packages/core/src/edge/gateway.ts:52Device-bound gateway authentication contract.

Methods

authenticate()

authenticate(credential, hello): Promise<AuthenticatedEdgeIdentity>
Defined in: packages/core/src/edge/gateway.ts:53

Parameters

credential
string
hello
EdgeHelloMessage

Returns

Promise<AuthenticatedEdgeIdentity>
@fentaris/core / EdgeGatewayAuthorizationDefined in: packages/core/src/edge/gateway.ts:57Per-message authorization input.

Properties

connection

readonly connection: EdgeConnectionRecord
Defined in: packages/core/src/edge/gateway.ts:60

direction

readonly direction: "inbound" | "outbound"
Defined in: packages/core/src/edge/gateway.ts:58

identity

readonly identity: AuthenticatedEdgeIdentity
Defined in: packages/core/src/edge/gateway.ts:59

message

readonly message: EdgeMcpRequestEnvelope | EdgeMcpResultEnvelope | EdgeMcpErrorEnvelope | EdgeMcpCancelEnvelope | EdgeHelloMessage | EdgeHelloAckMessage | EdgeHeartbeatMessage | EdgePresenceReportMessage | EdgeDesiredStateMessage | EdgeDesiredStateAckMessage | EdgeInstallationStatusMessage | EdgeInstallationControlMessage | EdgeInstallationApprovalMessage | EdgeSetupStatusMessage | EdgeCapabilityManifestMessage | EdgeLifecycleMessage
Defined in: packages/core/src/edge/gateway.ts:61
@fentaris/core / EdgeGatewayAuthorizerDefined in: packages/core/src/edge/gateway.ts:65Server-side message authorization contract.

Methods

authorize()

authorize(input): Promise<boolean>
Defined in: packages/core/src/edge/gateway.ts:66

Parameters

input
EdgeGatewayAuthorization

Returns

Promise<boolean>
@fentaris/core / EdgeGatewayEventSinkDefined in: packages/core/src/edge/gateway.ts:70Authenticated gateway events consumed by the integrated inventory bridge.

Methods

connected()?

optional connected(connection): void | Promise<void>
Defined in: packages/core/src/edge/gateway.ts:71

Parameters

connection
EdgeConnectionRecord

Returns

void | Promise<void>

desiredAcknowledged()?

optional desiredAcknowledged(message): void | Promise<void>
Defined in: packages/core/src/edge/gateway.ts:73

Parameters

message
EdgeDesiredStateAckMessage

Returns

void | Promise<void>

disconnected()?

optional disconnected(connection): void | Promise<void>
Defined in: packages/core/src/edge/gateway.ts:72

Parameters

connection
EdgeConnectionRecord

Returns

void | Promise<void>

installationChanged()?

optional installationChanged(message): void | Promise<void>
Defined in: packages/core/src/edge/gateway.ts:77

Parameters

message
EdgeInstallationStatusMessage

Returns

void | Promise<void>

manifestChanged()?

optional manifestChanged(message): void | Promise<void>
Defined in: packages/core/src/edge/gateway.ts:75

Parameters

message
EdgeCapabilityManifestMessage

Returns

void | Promise<void>

presenceChanged()?

optional presenceChanged(message): void | Promise<void>
Defined in: packages/core/src/edge/gateway.ts:76

Parameters

message
EdgePresenceReportMessage

Returns

void | Promise<void>

setupChanged()?

optional setupChanged(message): void | Promise<void>
Defined in: packages/core/src/edge/gateway.ts:74

Parameters

message
EdgeSetupStatusMessage

Returns

void | Promise<void>
@fentaris/core / EdgeGatewaySocketDefined in: packages/core/src/edge/gateway.ts:36Minimal server-side WebSocket seam used by the reference gateway.

Properties

bufferedAmount?

readonly optional bufferedAmount?: number
Defined in: packages/core/src/edge/gateway.ts:37

Methods

close()

close(code?, reason?): void
Defined in: packages/core/src/edge/gateway.ts:39

Parameters

code?
number
reason?
string

Returns

void

onClose()

onClose(handler): () => void
Defined in: packages/core/src/edge/gateway.ts:41

Parameters

handler
() => void

Returns

() => void

onMessage()

onMessage(handler): () => void
Defined in: packages/core/src/edge/gateway.ts:40

Parameters

handler
(frame) => void

Returns

() => void

send()

send(frame): void | Promise<void>
Defined in: packages/core/src/edge/gateway.ts:38

Parameters

frame
string

Returns

void | Promise<void>
@fentaris/core / EdgeHealthOptionsDefined in: packages/core/src/edge/observability.ts:68

Properties

capabilityCache?

readonly optional capabilityCache?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:73

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

channelRouting?

readonly optional channelRouting?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:78

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

childBindingCleanup?

readonly optional childBindingCleanup?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:77

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

deploymentReadiness?

readonly optional deploymentReadiness?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:72

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

deviceAvailability?

readonly optional deviceAvailability?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:71

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

gateway?

readonly optional gateway?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:69

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

inventoryStore?

readonly optional inventoryStore?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:74

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

presenceExpiry?

readonly optional presenceExpiry?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:75

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

protocolDistribution?

readonly optional protocolDistribution?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:79

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

selectionService?

readonly optional selectionService?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:76

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

staleReadiness?

readonly optional staleReadiness?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:80

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

targetResolution?

readonly optional targetResolution?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/observability.ts:70

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

timeoutMs?

readonly optional timeoutMs?: number
Defined in: packages/core/src/edge/observability.ts:81
@fentaris/core / EdgeHealthProbeResultDefined in: packages/core/src/edge/observability.ts:62

Properties

message?

readonly optional message?: string
Defined in: packages/core/src/edge/observability.ts:64

metadata?

readonly optional metadata?: Record<string, unknown>
Defined in: packages/core/src/edge/observability.ts:65

status

readonly status: HealthStatus
Defined in: packages/core/src/edge/observability.ts:63
@fentaris/core / EdgeHeartbeatFreshnessDefined in: packages/core/src/edge/inventory.ts:78Heartbeat freshness derived by the control plane.

Properties

evaluatedAt

readonly evaluatedAt: number
Defined in: packages/core/src/edge/inventory.ts:81

fresh

readonly fresh: boolean
Defined in: packages/core/src/edge/inventory.ts:82

lastHeartbeatAt

readonly lastHeartbeatAt: number
Defined in: packages/core/src/edge/inventory.ts:79

staleAfterMs

readonly staleAfterMs: number
Defined in: packages/core/src/edge/inventory.ts:80
@fentaris/core / EdgeHeartbeatMessageDefined in: packages/core/src/edge/controlProtocol.ts:58Common trusted routing claims carried by edge control messages.

Extends

  • EdgeProtocolClaims

Properties

capacity?

readonly optional capacity?: EdgeCapacitySnapshot
Defined in: packages/core/src/edge/controlProtocol.ts:64

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

kind

readonly kind: "edge.heartbeat"
Defined in: packages/core/src/edge/controlProtocol.ts:60

load?

readonly optional load?: number | EdgeLoadSnapshot
Defined in: packages/core/src/edge/controlProtocol.ts:63Legacy v1 scalar load.

sentAt

readonly sentAt: number
Defined in: packages/core/src/edge/controlProtocol.ts:61

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:59
@fentaris/core / EdgeHelloAckMessageDefined in: packages/core/src/edge/controlProtocol.ts:51Common trusted routing claims carried by edge control messages.

Extends

  • EdgeProtocolClaims

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

kind

readonly kind: "edge.hello.ack"
Defined in: packages/core/src/edge/controlProtocol.ts:53

protocolVersion

readonly protocolVersion: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:54

serverTime

readonly serverTime: number
Defined in: packages/core/src/edge/controlProtocol.ts:55

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:52
@fentaris/core / EdgeHelloMessageDefined in: packages/core/src/edge/controlProtocol.ts:39

Properties

deviceCredential?

readonly optional deviceCredential?: string
Defined in: packages/core/src/edge/controlProtocol.ts:48Enrolled opaque device credential carried inside the protected WebSocket channel.

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:43

kind

readonly kind: "edge.hello"
Defined in: packages/core/src/edge/controlProtocol.ts:41

nonce

readonly nonce: string
Defined in: packages/core/src/edge/controlProtocol.ts:45

proof

readonly proof: string
Defined in: packages/core/src/edge/controlProtocol.ts:46

supportedVersions

readonly supportedVersions: readonly number[]
Defined in: packages/core/src/edge/controlProtocol.ts:44

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:42

version

readonly version: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:40
@fentaris/core / EdgeInstallationApprovalMessageDefined in: packages/core/src/edge/controlProtocol.ts:162Local approval decision reported without review material or credentials.

Extends

  • EdgeProtocolClaims

Properties

approvalDigest

readonly approvalDigest: `sha256:${string}`
Defined in: packages/core/src/edge/controlProtocol.ts:168

cleanup

readonly cleanup: boolean
Defined in: packages/core/src/edge/controlProtocol.ts:170

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

decidedAt

readonly decidedAt: number
Defined in: packages/core/src/edge/controlProtocol.ts:171

decision

readonly decision: "approved" | "denied" | "revoked"
Defined in: packages/core/src/edge/controlProtocol.ts:169

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/controlProtocol.ts:165

desiredVersion

readonly desiredVersion: number
Defined in: packages/core/src/edge/controlProtocol.ts:166

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

installationDigest

readonly installationDigest: `sha256:${string}`
Defined in: packages/core/src/edge/controlProtocol.ts:167

kind

readonly kind: "edge.installation-approval"
Defined in: packages/core/src/edge/controlProtocol.ts:164

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: 3
Defined in: packages/core/src/edge/controlProtocol.ts:163
@fentaris/core / EdgeInstallationControlMessageDefined in: packages/core/src/edge/controlProtocol.ts:151Explicit authorized retry/removal command; never arbitrary script execution.

Extends

  • EdgeProtocolClaims

Properties

action

readonly action: "retry" | "remove"
Defined in: packages/core/src/edge/controlProtocol.ts:157

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/controlProtocol.ts:154

desiredVersion

readonly desiredVersion: number
Defined in: packages/core/src/edge/controlProtocol.ts:155

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

installationDigest

readonly installationDigest: `sha256:${string}`
Defined in: packages/core/src/edge/controlProtocol.ts:156

kind

readonly kind: "edge.installation-control"
Defined in: packages/core/src/edge/controlProtocol.ts:153

requestId

readonly requestId: string
Defined in: packages/core/src/edge/controlProtocol.ts:158

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: 3
Defined in: packages/core/src/edge/controlProtocol.ts:152
@fentaris/core / EdgeInstallationHealthOptionsDefined in: packages/core/src/edge/installationObservability.ts:40

Properties

agentUpgradeRequirements?

readonly optional agentUpgradeRequirements?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/installationObservability.ts:46

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

interruptedAttempts?

readonly optional interruptedAttempts?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/installationObservability.ts:41

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

isolation?

readonly optional isolation?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/installationObservability.ts:44

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

orphanedArtifacts?

readonly optional orphanedArtifacts?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/installationObservability.ts:45

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

staleLifecycle?

readonly optional staleLifecycle?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/installationObservability.ts:42

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

storage?

readonly optional storage?: () => EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>
Defined in: packages/core/src/edge/installationObservability.ts:43

Returns

EdgeHealthProbeResult | Promise<EdgeHealthProbeResult>

timeoutMs?

readonly optional timeoutMs?: number
Defined in: packages/core/src/edge/installationObservability.ts:47
@fentaris/core / EdgeInstallationRuntimeEventDefined in: packages/core/src/edge/installationObservability.ts:13

Properties

deploymentId?

readonly optional deploymentId?: string
Defined in: packages/core/src/edge/installationObservability.ts:16

metadata?

readonly optional metadata?: Readonly<Record<string, unknown>>
Defined in: packages/core/src/edge/installationObservability.ts:18

name

readonly name: EdgeInstallationRuntimeEventName
Defined in: packages/core/src/edge/installationObservability.ts:14

occurredAt

readonly occurredAt: number
Defined in: packages/core/src/edge/installationObservability.ts:15

outcome?

readonly optional outcome?: string
Defined in: packages/core/src/edge/installationObservability.ts:17
@fentaris/core / EdgeInstallationStatusMessageDefined in: packages/core/src/edge/controlProtocol.ts:129Bounded installation lifecycle report carried by protocol v3.

Extends

  • EdgeProtocolClaims

Properties

approvalRequired?

readonly optional approvalRequired?: object
Defined in: packages/core/src/edge/controlProtocol.ts:142

approvalDigest

readonly approvalDigest: `sha256:${string}`

cleanup

readonly cleanup: boolean

sourceKind

readonly sourceKind: string

attemptId?

readonly optional attemptId?: string
Defined in: packages/core/src/edge/controlProtocol.ts:139

attemptStartedAt?

readonly optional attemptStartedAt?: number
Defined in: packages/core/src/edge/controlProtocol.ts:140

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/controlProtocol.ts:132

desiredVersion

readonly desiredVersion: number
Defined in: packages/core/src/edge/controlProtocol.ts:133

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

installationDigest

readonly installationDigest: `sha256:${string}`
Defined in: packages/core/src/edge/controlProtocol.ts:134

kind

readonly kind: "edge.installation-status"
Defined in: packages/core/src/edge/controlProtocol.ts:131

launchDigest

readonly launchDigest: string
Defined in: packages/core/src/edge/controlProtocol.ts:135

nextAction?

readonly optional nextAction?: string
Defined in: packages/core/src/edge/controlProtocol.ts:147

observedAt

readonly observedAt: number
Defined in: packages/core/src/edge/controlProtocol.ts:141

reasonCode?

readonly optional reasonCode?: InstallationReasonCode
Defined in: packages/core/src/edge/controlProtocol.ts:137

retryable

readonly retryable: boolean
Defined in: packages/core/src/edge/controlProtocol.ts:138

state

readonly state: InstallationLifecycleState
Defined in: packages/core/src/edge/controlProtocol.ts:136

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: 3
Defined in: packages/core/src/edge/controlProtocol.ts:130
@fentaris/core / EdgeInstallationStatusStoreDefined in: packages/core/src/edge/controlPlane.ts:119Replaceable bounded managed-installation lifecycle store.

Methods

delete()

delete(tenantId, edgeNodeId, deploymentId): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:123

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<void>

get()

get(tenantId, edgeNodeId, deploymentId): Promise<EdgeInstallationStatusMessage | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:120

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<EdgeInstallationStatusMessage | undefined>

list()

list(tenantId, edgeNodeId): Promise<readonly EdgeInstallationStatusMessage[]>
Defined in: packages/core/src/edge/controlPlane.ts:121

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<readonly EdgeInstallationStatusMessage[]>

put()

put(status): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:122

Parameters

status
EdgeInstallationStatusMessage

Returns

Promise<void>
@fentaris/core / EdgeInstallationTelemetrySinkDefined in: packages/core/src/edge/installationObservability.ts:21

Methods

emit()

emit(event): void | Promise<void>
Defined in: packages/core/src/edge/installationObservability.ts:22

Parameters

event
EdgeInstallationRuntimeEvent

Returns

void | Promise<void>
@fentaris/core / EdgeInventoryAuthorizerDefined in: packages/core/src/edge/inventoryService.ts:24Policy/grant seam evaluated before any device enters the visible set.

Methods

canAccessDeployment()

canAccessDeployment(context, device, deploymentId): boolean | Promise<boolean>
Defined in: packages/core/src/edge/inventoryService.ts:26

Parameters

context
EdgeInventoryContext
device
EdgeInventoryListItem
deploymentId
string

Returns

boolean | Promise<boolean>

canAccessDevice()

canAccessDevice(context, device): boolean | Promise<boolean>
Defined in: packages/core/src/edge/inventoryService.ts:25

Parameters

context
EdgeInventoryContext
device
EdgeInventoryListItem

Returns

boolean | Promise<boolean>
@fentaris/core / EdgeInventoryContextDefined in: packages/core/src/edge/inventoryService.ts:17Authenticated inventory-query context.

Properties

groups?

readonly optional groups?: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:20

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/inventoryService.ts:19

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/inventoryService.ts:18
@fentaris/core / EdgeInventoryListOptionsDefined in: packages/core/src/edge/controlPlane.ts:49Authorization-scoped inventory list filters.

Properties

cursor?

readonly optional cursor?: string
Defined in: packages/core/src/edge/controlPlane.ts:55

limit?

readonly optional limit?: number
Defined in: packages/core/src/edge/controlPlane.ts:54

name?

readonly optional name?: string
Defined in: packages/core/src/edge/controlPlane.ts:50

pool?

readonly optional pool?: string
Defined in: packages/core/src/edge/controlPlane.ts:52

revoked?

readonly optional revoked?: boolean
Defined in: packages/core/src/edge/controlPlane.ts:53

tags?

readonly optional tags?: readonly string[]
Defined in: packages/core/src/edge/controlPlane.ts:51
@fentaris/core / EdgeInventoryListPageDefined in: packages/core/src/edge/controlPlane.ts:59Cursor-paginated credential-free inventory result.

Properties

items

readonly items: readonly EdgeInventoryListItem[]
Defined in: packages/core/src/edge/controlPlane.ts:60

nextCursor?

readonly optional nextCursor?: string
Defined in: packages/core/src/edge/controlPlane.ts:61
@fentaris/core / EdgeInventoryQueryDefined in: packages/core/src/edge/inventoryService.ts:77Bounded filters applied only after device authorization.

Properties

cursor?

readonly optional cursor?: string
Defined in: packages/core/src/edge/inventoryService.ts:87

deploymentId?

readonly optional deploymentId?: string
Defined in: packages/core/src/edge/inventoryService.ts:84

features?

readonly optional features?: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:80

limit?

readonly optional limit?: number
Defined in: packages/core/src/edge/inventoryService.ts:86

name?

readonly optional name?: string
Defined in: packages/core/src/edge/inventoryService.ts:78

platforms?

readonly optional platforms?: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:81

pool?

readonly optional pool?: string
Defined in: packages/core/src/edge/inventoryService.ts:82

readiness?

readonly optional readiness?: readonly EdgeDeploymentReadinessStatus[]
Defined in: packages/core/src/edge/inventoryService.ts:85

statuses?

readonly optional statuses?: readonly EdgePresenceStatus[]
Defined in: packages/core/src/edge/inventoryService.ts:83

tags?

readonly optional tags?: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:79
@fentaris/core / EdgeInventoryRecordDefined in: packages/core/src/edge/controlPlane.ts:36Fully initialized durable inventory record.

Extends

  • EdgeDeviceRecord

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlPlane.ts:26

Inherited from

EdgeDeviceRecord.connectionGeneration

credentialId

readonly credentialId: string
Defined in: packages/core/src/edge/controlPlane.ts:23

Inherited from

EdgeDeviceRecord.credentialId

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlPlane.ts:22

Inherited from

EdgeDeviceRecord.edgeNodeId

inventorySchemaVersion

readonly inventorySchemaVersion: 1
Defined in: packages/core/src/edge/controlPlane.ts:37

Overrides

EdgeDeviceRecord.inventorySchemaVersion

inventoryVersion

readonly inventoryVersion: number
Defined in: packages/core/src/edge/controlPlane.ts:38

Overrides

EdgeDeviceRecord.inventoryVersion

lastSeenAt?

readonly optional lastSeenAt?: number
Defined in: packages/core/src/edge/controlPlane.ts:27

Inherited from

EdgeDeviceRecord.lastSeenAt

managed

readonly managed: EdgeManagedMetadata
Defined in: packages/core/src/edge/controlPlane.ts:40

Overrides

EdgeDeviceRecord.managed

observed?

readonly optional observed?: EdgeObservedFacts
Defined in: packages/core/src/edge/controlPlane.ts:31

Inherited from

EdgeDeviceRecord.observed

revoked

readonly revoked: boolean
Defined in: packages/core/src/edge/controlPlane.ts:25

Inherited from

EdgeDeviceRecord.revoked

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/controlPlane.ts:24

Inherited from

EdgeDeviceRecord.subjectId

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlPlane.ts:21

Inherited from

EdgeDeviceRecord.tenantId

user

readonly user: EdgeUserMetadata
Defined in: packages/core/src/edge/controlPlane.ts:39

Overrides

EdgeDeviceRecord.user
@fentaris/core / EdgeInventoryServiceOptionsDefined in: packages/core/src/edge/inventoryService.ts:154Inventory query service configuration.

Properties

authorizer

readonly authorizer: EdgeInventoryAuthorizer
Defined in: packages/core/src/edge/inventoryService.ts:159

capabilities?

readonly optional capabilities?: EdgeCapabilityManifestStore
Defined in: packages/core/src/edge/inventoryService.ts:158

devices

readonly devices: EdgeDeviceRegistry
Defined in: packages/core/src/edge/inventoryService.ts:155

maxCandidates?

readonly optional maxCandidates?: number
Defined in: packages/core/src/edge/inventoryService.ts:161

now?

readonly optional now?: () => number
Defined in: packages/core/src/edge/inventoryService.ts:160

Returns

number

presence

readonly presence: EdgePresenceStore
Defined in: packages/core/src/edge/inventoryService.ts:156

readiness

readonly readiness: EdgeReadinessStore
Defined in: packages/core/src/edge/inventoryService.ts:157
@fentaris/core / EdgeInventoryUpdateDefined in: packages/core/src/edge/controlPlane.ts:65Optimistic inventory mutation. Only explicitly supplied sections change.

Properties

description?

readonly optional description?: string | null
Defined in: packages/core/src/edge/controlPlane.ts:68

expectedInventoryVersion

readonly expectedInventoryVersion: number
Defined in: packages/core/src/edge/controlPlane.ts:66

name?

readonly optional name?: string
Defined in: packages/core/src/edge/controlPlane.ts:67

observed?

readonly optional observed?: EdgeObservedFacts | null
Defined in: packages/core/src/edge/controlPlane.ts:70

pools?

readonly optional pools?: readonly string[]
Defined in: packages/core/src/edge/controlPlane.ts:71

retainPreviousNameUntil?

readonly optional retainPreviousNameUntil?: number
Defined in: packages/core/src/edge/controlPlane.ts:72

tags?

readonly optional tags?: readonly string[]
Defined in: packages/core/src/edge/controlPlane.ts:69

updatedAt

readonly updatedAt: number
Defined in: packages/core/src/edge/controlPlane.ts:73
@fentaris/core / EdgeJoinRequestDefined in: packages/core/src/edge/management.ts:22Trusted enrollment input produced after device authorization.

Properties

credentialId

readonly credentialId: string
Defined in: packages/core/src/edge/management.ts:26

description?

readonly optional description?: string
Defined in: packages/core/src/edge/management.ts:28

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/management.ts:25

enrolledAt

readonly enrolledAt: number
Defined in: packages/core/src/edge/management.ts:30

name

readonly name: string
Defined in: packages/core/src/edge/management.ts:27

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/management.ts:24

tags?

readonly optional tags?: readonly string[]
Defined in: packages/core/src/edge/management.ts:29

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/management.ts:23
@fentaris/core / EdgeLifecycleMessageDefined in: packages/core/src/edge/controlProtocol.ts:196Common trusted routing claims carried by edge control messages.

Extends

  • EdgeProtocolClaims

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

deploymentId?

readonly optional deploymentId?: string
Defined in: packages/core/src/edge/controlProtocol.ts:207

downstreamSessionId?

readonly optional downstreamSessionId?: string
Defined in: packages/core/src/edge/controlProtocol.ts:208

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

event

readonly event: "connected" | "disconnected" | "setup-pending" | "setup-ready" | "workload-started" | "workload-stopped" | "workload-failed"
Defined in: packages/core/src/edge/controlProtocol.ts:199

kind

readonly kind: "edge.lifecycle"
Defined in: packages/core/src/edge/controlProtocol.ts:198

metadata?

readonly optional metadata?: Readonly<Record<string, unknown>>
Defined in: packages/core/src/edge/controlProtocol.ts:210

occurredAt

readonly occurredAt: number
Defined in: packages/core/src/edge/controlProtocol.ts:209

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:197
@fentaris/core / EdgeLoadSnapshotDefined in: packages/core/src/edge/inventory.ts:70Dynamic load reported by an authenticated Edge agent.

Properties

active

readonly active: number
Defined in: packages/core/src/edge/inventory.ts:71

queued

readonly queued: number
Defined in: packages/core/src/edge/inventory.ts:72

reportedAt

readonly reportedAt: number
Defined in: packages/core/src/edge/inventory.ts:74

utilization?

readonly optional utilization?: number
Defined in: packages/core/src/edge/inventory.ts:73
@fentaris/core / EdgeLocalOperatorChannelDefined in: packages/core/src/edge/integratedServices.ts:143Protected local operator channel used by CLI approval commands.

Methods

approve()

approve(userCode, decision): Promise<EdgeAuthorizationSession>
Defined in: packages/core/src/edge/integratedServices.ts:144

Parameters

userCode
string
decision
EdgeDeviceApprovalDecision

Returns

Promise<EdgeAuthorizationSession>

close()

close(): Promise<void>
Defined in: packages/core/src/edge/integratedServices.ts:152

Returns

Promise<void>

deny()

deny(userCode, decision): Promise<EdgeAuthorizationSession>
Defined in: packages/core/src/edge/integratedServices.ts:145

Parameters

userCode
string
decision
Omit<EdgeDeviceApprovalDecision, "subjectId"> & object

Returns

Promise<EdgeAuthorizationSession>

status()

status(): Promise<{ enrolledDevices: number; mode: "local"; multiInstance: false; pendingApprovals: number; }>
Defined in: packages/core/src/edge/integratedServices.ts:146

Returns

Promise<{ enrolledDevices: number; mode: "local"; multiInstance: false; pendingApprovals: number; }>
@fentaris/core / EdgeManagedDeviceViewDefined in: packages/core/src/edge/management.ts:40Agent/operator-safe device view. Credentials and opaque routing IDs are omitted.

Properties

connected

readonly connected: boolean
Defined in: packages/core/src/edge/management.ts:47

device

readonly device: EdgePublicDeviceRef
Defined in: packages/core/src/edge/management.ts:42

lastSeenAt?

readonly optional lastSeenAt?: number
Defined in: packages/core/src/edge/management.ts:48

managed

readonly managed: Pick<EdgeManagedMetadata, "pools" | "updatedAt">
Defined in: packages/core/src/edge/management.ts:45

observed?

readonly optional observed?: EdgeObservedFacts
Defined in: packages/core/src/edge/management.ts:44

revoked

readonly revoked: boolean
Defined in: packages/core/src/edge/management.ts:46

schemaVersion

readonly schemaVersion: 1
Defined in: packages/core/src/edge/management.ts:41

user

readonly user: EdgeUserMetadata
Defined in: packages/core/src/edge/management.ts:43
@fentaris/core / EdgeManagedMetadataDefined in: packages/core/src/edge/inventory.ts:42Metadata controlled only by the control plane.

Properties

aliases

readonly aliases: readonly EdgeDeviceAlias[]
Defined in: packages/core/src/edge/inventory.ts:43

pools

readonly pools: readonly string[]
Defined in: packages/core/src/edge/inventory.ts:44

updatedAt

readonly updatedAt: number
Defined in: packages/core/src/edge/inventory.ts:45
@fentaris/core / EdgeManagementContextDefined in: packages/core/src/edge/management.ts:34Trusted request context for a tenant-scoped device operation.

Properties

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/management.ts:36

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/management.ts:35
@fentaris/core / EdgeManagementPageDefined in: packages/core/src/edge/management.ts:60Canonical paginated service result.

Extends

  • EdgeManagementResult<readonly T[]>

Type Parameters

T

T

Properties

data

readonly data: readonly T[]
Defined in: packages/core/src/edge/management.ts:54

Inherited from

EdgeManagementResult.data

nextActions

readonly nextActions: readonly string[]
Defined in: packages/core/src/edge/management.ts:56

Inherited from

EdgeManagementResult.nextActions

ok

readonly ok: true
Defined in: packages/core/src/edge/management.ts:53

Inherited from

EdgeManagementResult.ok

pagination

readonly pagination: object
Defined in: packages/core/src/edge/management.ts:61

nextCursor?

readonly optional nextCursor?: string

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/management.ts:55

Inherited from

EdgeManagementResult.warnings
@fentaris/core / EdgeManagementResultDefined in: packages/core/src/edge/management.ts:52Canonical service result with stable warnings and next actions.

Extended by

  • EdgeManagementPage

Type Parameters

T

T

Properties

data

readonly data: T
Defined in: packages/core/src/edge/management.ts:54

nextActions

readonly nextActions: readonly string[]
Defined in: packages/core/src/edge/management.ts:56

ok

readonly ok: true
Defined in: packages/core/src/edge/management.ts:53

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/management.ts:55
@fentaris/core / EdgeMcpCancelEnvelopeDefined in: packages/core/src/edge/protocol.ts:71A normalized edge MCP cancellation request.

Properties

kind

readonly kind: "mcp.cancel"
Defined in: packages/core/src/edge/protocol.ts:73

reason

readonly reason: "shutdown" | "aborted" | "deadline"
Defined in: packages/core/src/edge/protocol.ts:76

requestId

readonly requestId: string
Defined in: packages/core/src/edge/protocol.ts:74

route

readonly route: EdgeMcpRoute
Defined in: packages/core/src/edge/protocol.ts:75

version

readonly version: 1
Defined in: packages/core/src/edge/protocol.ts:72
@fentaris/core / EdgeMcpErrorEnvelopeDefined in: packages/core/src/edge/protocol.ts:57A normalized failed edge MCP result.

Properties

error

readonly error: object
Defined in: packages/core/src/edge/protocol.ts:63

code

readonly code: EdgeErrorCode

details?

readonly optional details?: Readonly<Record<string, unknown>>

message

readonly message: string

kind

readonly kind: "mcp.error"
Defined in: packages/core/src/edge/protocol.ts:59

operation

readonly operation: EdgeMcpOperation
Defined in: packages/core/src/edge/protocol.ts:61

requestId

readonly requestId: string
Defined in: packages/core/src/edge/protocol.ts:60

route

readonly route: EdgeMcpRoute
Defined in: packages/core/src/edge/protocol.ts:62

version

readonly version: 1
Defined in: packages/core/src/edge/protocol.ts:58
@fentaris/core / EdgeMcpRequestEnvelopeDefined in: packages/core/src/edge/protocol.ts:35A normalized edge MCP request.

Properties

deadline

readonly deadline: number
Defined in: packages/core/src/edge/protocol.ts:41

kind

readonly kind: "mcp.request"
Defined in: packages/core/src/edge/protocol.ts:37

operation

readonly operation: EdgeMcpOperation
Defined in: packages/core/src/edge/protocol.ts:39

params?

readonly optional params?: unknown
Defined in: packages/core/src/edge/protocol.ts:42

requestId

readonly requestId: string
Defined in: packages/core/src/edge/protocol.ts:38

route

readonly route: EdgeMcpRoute
Defined in: packages/core/src/edge/protocol.ts:40

trace?

readonly optional trace?: Readonly<Record<string, string>>
Defined in: packages/core/src/edge/protocol.ts:43

version

readonly version: 1
Defined in: packages/core/src/edge/protocol.ts:36
@fentaris/core / EdgeMcpResultEnvelopeDefined in: packages/core/src/edge/protocol.ts:47A normalized successful edge MCP result.

Properties

kind

readonly kind: "mcp.result"
Defined in: packages/core/src/edge/protocol.ts:49

operation

readonly operation: EdgeMcpOperation
Defined in: packages/core/src/edge/protocol.ts:51

requestId

readonly requestId: string
Defined in: packages/core/src/edge/protocol.ts:50

result

readonly result: unknown
Defined in: packages/core/src/edge/protocol.ts:53

route

readonly route: EdgeMcpRoute
Defined in: packages/core/src/edge/protocol.ts:52

version

readonly version: 1
Defined in: packages/core/src/edge/protocol.ts:48
@fentaris/core / EdgeMcpRouteDefined in: packages/core/src/edge/protocol.ts:19Trusted routing fields attached by the Fentaris control plane.

Properties

childBindingId?

readonly optional childBindingId?: string
Defined in: packages/core/src/edge/protocol.ts:29Trusted isolated child binding, for explicit child calls only.

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/protocol.ts:21

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/protocol.ts:22

downstreamSessionId

readonly downstreamSessionId: string
Defined in: packages/core/src/edge/protocol.ts:23

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/protocol.ts:20

orchestrationId?

readonly optional orchestrationId?: string
Defined in: packages/core/src/edge/protocol.ts:31Trusted aggregate orchestration correlation, for fan-out only.

parentRequestId?

readonly optional parentRequestId?: string
Defined in: packages/core/src/edge/protocol.ts:27Trusted parent orchestration request, for explicit child calls only.

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/protocol.ts:24

targetName

readonly targetName: string
Defined in: packages/core/src/edge/protocol.ts:25
@fentaris/core / EdgeObservedFactsDefined in: packages/core/src/edge/inventory.ts:33Authenticated facts observed by the Edge agent.

Properties

agentVersion

readonly agentVersion: string
Defined in: packages/core/src/edge/inventory.ts:36

architecture

readonly architecture: string
Defined in: packages/core/src/edge/inventory.ts:35

executionFeatures

readonly executionFeatures: readonly string[]
Defined in: packages/core/src/edge/inventory.ts:37

platform

readonly platform: string
Defined in: packages/core/src/edge/inventory.ts:34

reportedAt

readonly reportedAt: number
Defined in: packages/core/src/edge/inventory.ts:38
@fentaris/core / EdgeOrchestrationLimitsDefined in: packages/core/src/edge/fanout.ts:11

Properties

maxAggregateBytes

readonly maxAggregateBytes: number
Defined in: packages/core/src/edge/fanout.ts:17

maxChildBytes

readonly maxChildBytes: number
Defined in: packages/core/src/edge/fanout.ts:16

maxConcurrency

readonly maxConcurrency: number
Defined in: packages/core/src/edge/fanout.ts:13

maxDeadlineMs

readonly maxDeadlineMs: number
Defined in: packages/core/src/edge/fanout.ts:14

maxDevices

readonly maxDevices: number
Defined in: packages/core/src/edge/fanout.ts:12

maxSelectorCandidates

readonly maxSelectorCandidates: number
Defined in: packages/core/src/edge/fanout.ts:15
@fentaris/core / EdgePoolCandidateDefined in: packages/core/src/edge/distributed.ts:6

Properties

capacity?

readonly optional capacity?: number
Defined in: packages/core/src/edge/distributed.ts:10

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/distributed.ts:8

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/distributed.ts:7

load?

readonly optional load?: number
Defined in: packages/core/src/edge/distributed.ts:9
@fentaris/core / EdgePoolSelectionStoreDefined in: packages/core/src/edge/distributed.ts:16Durable implementations must perform selection/cursor update atomically.

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/distributed.ts:17

Methods

select()

select(tenantId, pool, candidates, strategy, stickyKey?): Promise<EdgePoolCandidate>
Defined in: packages/core/src/edge/distributed.ts:18

Parameters

tenantId
string
pool
string
candidates
readonly EdgePoolCandidate[]
strategy
EdgeCoordinatedPoolStrategy
stickyKey?
string

Returns

Promise<EdgePoolCandidate>
@fentaris/core / EdgePresenceDefined in: packages/core/src/edge/inventory.ts:89High-churn authenticated device presence.

Properties

capacity?

readonly optional capacity?: EdgeCapacitySnapshot
Defined in: packages/core/src/edge/inventory.ts:99

connectedAt

readonly connectedAt: number
Defined in: packages/core/src/edge/inventory.ts:96

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/inventory.ts:94

connectionId

readonly connectionId: string
Defined in: packages/core/src/edge/inventory.ts:93

credentialId

readonly credentialId: string
Defined in: packages/core/src/edge/inventory.ts:92

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/inventory.ts:91

heartbeat

readonly heartbeat: EdgeHeartbeatFreshness
Defined in: packages/core/src/edge/inventory.ts:97

load?

readonly optional load?: EdgeLoadSnapshot
Defined in: packages/core/src/edge/inventory.ts:100

protocolVersion

readonly protocolVersion: number
Defined in: packages/core/src/edge/inventory.ts:95

status

readonly status: EdgePresenceStatus
Defined in: packages/core/src/edge/inventory.ts:98

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/inventory.ts:90
@fentaris/core / EdgePresenceReportMessageDefined in: packages/core/src/edge/controlProtocol.ts:85Authenticated protocol-v2 observed facts and dynamic state.

Extends

  • EdgeProtocolClaims

Properties

capacity?

readonly optional capacity?: EdgeCapacitySnapshot
Defined in: packages/core/src/edge/controlProtocol.ts:89

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

kind

readonly kind: "edge.presence"
Defined in: packages/core/src/edge/controlProtocol.ts:87

load?

readonly optional load?: EdgeLoadSnapshot
Defined in: packages/core/src/edge/controlProtocol.ts:90

observed

readonly observed: EdgeObservedFacts
Defined in: packages/core/src/edge/controlProtocol.ts:88

readiness

readonly readiness: readonly EdgeReadinessReport[]
Defined in: packages/core/src/edge/controlProtocol.ts:91

reportedAt

readonly reportedAt: number
Defined in: packages/core/src/edge/controlProtocol.ts:92

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: 2 | 3
Defined in: packages/core/src/edge/controlProtocol.ts:86
@fentaris/core / EdgePresenceStoreDefined in: packages/core/src/edge/inventory.ts:181Replaceable authenticated presence store.

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/inventory.ts:182

Methods

get()

get(tenantId, edgeNodeId): Promise<EdgePresence | undefined>
Defined in: packages/core/src/edge/inventory.ts:183

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<EdgePresence | undefined>

purgeStale()

purgeStale(evaluatedAt): Promise<readonly EdgePresence[]>
Defined in: packages/core/src/edge/inventory.ts:186

Parameters

evaluatedAt
number

Returns

Promise<readonly EdgePresence[]>

put()

put(presence): Promise<void>
Defined in: packages/core/src/edge/inventory.ts:184

Parameters

presence
EdgePresence

Returns

Promise<void>

remove()

remove(tenantId, edgeNodeId, connectionGeneration): Promise<EdgePresence | undefined>
Defined in: packages/core/src/edge/inventory.ts:185

Parameters

tenantId
string
edgeNodeId
string
connectionGeneration
number

Returns

Promise<EdgePresence | undefined>
@fentaris/core / EdgeProductionAdapterDiagnosticDefined in: packages/core/src/edge/distributed.ts:128

Properties

adapterRole

readonly adapterRole: string
Defined in: packages/core/src/edge/distributed.ts:131

code

readonly code: "EDGE_ADAPTER_NOT_PRODUCTION_READY" | "EDGE_ADAPTER_NOT_DURABLE" | "EDGE_ADAPTER_NOT_MULTI_INSTANCE"
Defined in: packages/core/src/edge/distributed.ts:130

message

readonly message: string
Defined in: packages/core/src/edge/distributed.ts:132

nextActions

readonly nextActions: readonly string[]
Defined in: packages/core/src/edge/distributed.ts:133

severity

readonly severity: "error" | "warning"
Defined in: packages/core/src/edge/distributed.ts:129
@fentaris/core / EdgeProtocolClaimsDefined in: packages/core/src/edge/controlProtocol.ts:33Common trusted routing claims carried by edge control messages.

Extended by

  • EdgeCapabilityManifestMessage
  • EdgeDesiredStateAckMessage
  • EdgeDesiredStateMessage
  • EdgeHeartbeatMessage
  • EdgeHelloAckMessage
  • EdgeLifecycleMessage
  • EdgeInstallationApprovalMessage
  • EdgeInstallationControlMessage
  • EdgeInstallationStatusMessage
  • EdgePresenceReportMessage
  • EdgeSetupStatusMessage

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34
@fentaris/core / EdgePublicDeviceRefDefined in: packages/core/src/edge/inventory.ts:57Stable agent-visible device selector. It intentionally contains no opaque IDs.

Properties

inventoryVersion

readonly inventoryVersion: number
Defined in: packages/core/src/edge/inventory.ts:59

name

readonly name: string
Defined in: packages/core/src/edge/inventory.ts:58
@fentaris/core / EdgePublicDeviceViewDefined in: packages/core/src/edge/inventoryService.ts:58Agent-visible Edge inventory view.

Properties

agentVersion?

readonly optional agentVersion?: string
Defined in: packages/core/src/edge/inventoryService.ts:64

architecture?

readonly optional architecture?: string
Defined in: packages/core/src/edge/inventoryService.ts:63

capacity?

readonly optional capacity?: EdgeCapacitySnapshot
Defined in: packages/core/src/edge/inventoryService.ts:70

description?

readonly optional description?: string
Defined in: packages/core/src/edge/inventoryService.ts:60

device

readonly device: EdgePublicDeviceRef
Defined in: packages/core/src/edge/inventoryService.ts:59

executionFeatures

readonly executionFeatures: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:65

heartbeatFresh

readonly heartbeatFresh: boolean
Defined in: packages/core/src/edge/inventoryService.ts:68

lastHeartbeatAt?

readonly optional lastHeartbeatAt?: number
Defined in: packages/core/src/edge/inventoryService.ts:69

load?

readonly optional load?: EdgeLoadSnapshot
Defined in: packages/core/src/edge/inventoryService.ts:71

platform?

readonly optional platform?: string
Defined in: packages/core/src/edge/inventoryService.ts:62

pools

readonly pools: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:66

readiness

readonly readiness: readonly EdgePublicReadinessSummary[]
Defined in: packages/core/src/edge/inventoryService.ts:72

status

readonly status: EdgePresenceStatus
Defined in: packages/core/src/edge/inventoryService.ts:67

tags

readonly tags: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:61

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:73
@fentaris/core / EdgePublicInventoryPageDefined in: packages/core/src/edge/inventoryService.ts:91Cursor-paginated policy-filtered inventory response.

Properties

devices

readonly devices: readonly EdgePublicDeviceView[]
Defined in: packages/core/src/edge/inventoryService.ts:92

nextCursor?

readonly optional nextCursor?: string
Defined in: packages/core/src/edge/inventoryService.ts:93

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:94
@fentaris/core / EdgePublicReadinessSummaryDefined in: packages/core/src/edge/inventoryService.ts:34Policy-filtered readiness summary without local grant or path values.

Properties

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/inventoryService.ts:35

desiredVersion?

readonly optional desiredVersion?: number
Defined in: packages/core/src/edge/inventoryService.ts:44

fresh

readonly fresh: boolean
Defined in: packages/core/src/edge/inventoryService.ts:39

installation?

readonly optional installation?: object
Defined in: packages/core/src/edge/inventoryService.ts:46

attemptId?

readonly optional attemptId?: string

digest?

readonly optional digest?: `sha256:${string}`

reasonCode?

readonly optional reasonCode?: InstallationReasonCode

retryable

readonly retryable: boolean

state

readonly state: InstallationLifecycleState

launchDigest?

readonly optional launchDigest?: string
Defined in: packages/core/src/edge/inventoryService.ts:45

nextActions?

readonly optional nextActions?: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:43

observedAt

readonly observedAt: number
Defined in: packages/core/src/edge/inventoryService.ts:38

reasonCategory?

readonly optional reasonCategory?: string
Defined in: packages/core/src/edge/inventoryService.ts:42

recipeVersion?

readonly optional recipeVersion?: number
Defined in: packages/core/src/edge/inventoryService.ts:37

resourceCount?

readonly optional resourceCount?: number
Defined in: packages/core/src/edge/inventoryService.ts:41

setup

readonly setup: object
Defined in: packages/core/src/edge/inventoryService.ts:53

state

readonly state: "pending" | "ready" | "blocked" | "not-started"

status

readonly status: EdgeDeploymentReadinessStatus
Defined in: packages/core/src/edge/inventoryService.ts:36

toolCount?

readonly optional toolCount?: number
Defined in: packages/core/src/edge/inventoryService.ts:40

workload

readonly workload: object
Defined in: packages/core/src/edge/inventoryService.ts:54

state

readonly state: "starting" | "ready" | "degraded" | "stopped" | "not-started"
@fentaris/core / EdgeReadinessReportDefined in: packages/core/src/edge/controlProtocol.ts:68Public readiness report carried only by protocol v2.

Properties

attemptId?

readonly optional attemptId?: string
Defined in: packages/core/src/edge/controlProtocol.ts:78

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/controlProtocol.ts:69

desiredVersion?

readonly optional desiredVersion?: number
Defined in: packages/core/src/edge/controlProtocol.ts:72

expiresAt?

readonly optional expiresAt?: number
Defined in: packages/core/src/edge/controlProtocol.ts:80

installationDigest?

readonly optional installationDigest?: `sha256:${string}`
Defined in: packages/core/src/edge/controlProtocol.ts:73

installationState?

readonly optional installationState?: InstallationLifecycleState
Defined in: packages/core/src/edge/controlProtocol.ts:75

launchDigest?

readonly optional launchDigest?: string
Defined in: packages/core/src/edge/controlProtocol.ts:74

observedAt

readonly observedAt: number
Defined in: packages/core/src/edge/controlProtocol.ts:79

reasonCategory?

readonly optional reasonCategory?: string
Defined in: packages/core/src/edge/controlProtocol.ts:81

reasonCode?

readonly optional reasonCode?: InstallationReasonCode
Defined in: packages/core/src/edge/controlProtocol.ts:76

recipeVersion?

readonly optional recipeVersion?: number
Defined in: packages/core/src/edge/controlProtocol.ts:71

retryable?

readonly optional retryable?: boolean
Defined in: packages/core/src/edge/controlProtocol.ts:77

status

readonly status: EdgeDeploymentReadinessStatus
Defined in: packages/core/src/edge/controlProtocol.ts:70
@fentaris/core / EdgeReadinessStoreDefined in: packages/core/src/edge/inventory.ts:190Replaceable per-deployment readiness store.

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/inventory.ts:191

Methods

delete()

delete(tenantId, edgeNodeId, deploymentId): Promise<void>
Defined in: packages/core/src/edge/inventory.ts:195

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<void>

get()

get(tenantId, edgeNodeId, deploymentId): Promise<EdgeDeploymentReadiness | undefined>
Defined in: packages/core/src/edge/inventory.ts:192

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<EdgeDeploymentReadiness | undefined>

list()

list(tenantId, edgeNodeId): Promise<readonly EdgeDeploymentReadiness[]>
Defined in: packages/core/src/edge/inventory.ts:193

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<readonly EdgeDeploymentReadiness[]>

purgeExpired()

purgeExpired(evaluatedAt): Promise<readonly EdgeDeploymentReadiness[]>
Defined in: packages/core/src/edge/inventory.ts:196

Parameters

evaluatedAt
number

Returns

Promise<readonly EdgeDeploymentReadiness[]>

put()

put(readiness): Promise<void>
Defined in: packages/core/src/edge/inventory.ts:194

Parameters

readiness
EdgeDeploymentReadiness

Returns

Promise<void>
@fentaris/core / EdgeReconciliationTriggerServiceDefined in: packages/core/src/edge/integratedServices.ts:129Reconciliation scheduler / trigger surface.

Methods

enqueue()

enqueue(input): Promise<void>
Defined in: packages/core/src/edge/integratedServices.ts:130

Parameters

input
edgeNodeId
string
tenantId
string
trigger
EdgeReconciliationTrigger

Returns

Promise<void>

reconcileNow()

reconcileNow(input): Promise<EdgeDesiredAssignmentSnapshot | undefined>
Defined in: packages/core/src/edge/integratedServices.ts:135

Parameters

input
edgeNodeId
string
tenantId
string
trigger
EdgeReconciliationTrigger

Returns

Promise<EdgeDesiredAssignmentSnapshot | undefined>
@fentaris/core / EdgeResultCorrelationDefined in: packages/core/src/edge/distributed.ts:28Durable in-flight result correlation used across proxy/gateway instances.

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/distributed.ts:32

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/distributed.ts:31

expiresAt

readonly expiresAt: number
Defined in: packages/core/src/edge/distributed.ts:34

ownerInstanceId

readonly ownerInstanceId: string
Defined in: packages/core/src/edge/distributed.ts:33

requestId

readonly requestId: string
Defined in: packages/core/src/edge/distributed.ts:29

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/distributed.ts:30
@fentaris/core / EdgeResultCorrelationStoreDefined in: packages/core/src/edge/distributed.ts:37

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/distributed.ts:38

Methods

purgeExpired()

purgeExpired(at): Promise<readonly EdgeResultCorrelation[]>
Defined in: packages/core/src/edge/distributed.ts:41

Parameters

at
number

Returns

Promise<readonly EdgeResultCorrelation[]>

put()

put(value): Promise<void>
Defined in: packages/core/src/edge/distributed.ts:39

Parameters

value
EdgeResultCorrelation

Returns

Promise<void>

take()

take(requestId): Promise<EdgeResultCorrelation | undefined>
Defined in: packages/core/src/edge/distributed.ts:40

Parameters

requestId
string

Returns

Promise<EdgeResultCorrelation | undefined>
@fentaris/core / EdgeRuntimeEventDefined in: packages/core/src/edge/observability.ts:27

Properties

connectionGeneration?

readonly optional connectionGeneration?: number
Defined in: packages/core/src/edge/observability.ts:36

deploymentId?

readonly optional deploymentId?: string
Defined in: packages/core/src/edge/observability.ts:34

downstreamSessionId?

readonly optional downstreamSessionId?: string
Defined in: packages/core/src/edge/observability.ts:37

durationMs?

readonly optional durationMs?: number
Defined in: packages/core/src/edge/observability.ts:30

edgeNodeId?

readonly optional edgeNodeId?: string
Defined in: packages/core/src/edge/observability.ts:35

metadata?

readonly optional metadata?: Readonly<Record<string, unknown>>
Defined in: packages/core/src/edge/observability.ts:40

name

readonly name: EdgeRuntimeEventName
Defined in: packages/core/src/edge/observability.ts:28

occurredAt

readonly occurredAt: number
Defined in: packages/core/src/edge/observability.ts:29

outcome?

readonly optional outcome?: string
Defined in: packages/core/src/edge/observability.ts:39

requestId?

readonly optional requestId?: string
Defined in: packages/core/src/edge/observability.ts:38

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/observability.ts:31

targetName?

readonly optional targetName?: string
Defined in: packages/core/src/edge/observability.ts:33

tenantId?

readonly optional tenantId?: string
Defined in: packages/core/src/edge/observability.ts:32
@fentaris/core / EdgeSelectionExplanationDefined in: packages/core/src/edge/inventoryService.ts:124Redacted selection explanation.

Properties

appliedPreferences

readonly appliedPreferences: readonly EdgeSelectionPreference[]
Defined in: packages/core/src/edge/inventoryService.ts:126

evaluatedAt

readonly evaluatedAt: number
Defined in: packages/core/src/edge/inventoryService.ts:130

evaluatedCandidates

readonly evaluatedCandidates: number
Defined in: packages/core/src/edge/inventoryService.ts:128

inventoryVersion

readonly inventoryVersion: number
Defined in: packages/core/src/edge/inventoryService.ts:129

satisfiedRequirements

readonly satisfiedRequirements: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:125

strategy

readonly strategy: EdgeSelectionStrategy
Defined in: packages/core/src/edge/inventoryService.ts:127
@fentaris/core / EdgeSelectionRequestDefined in: packages/core/src/edge/inventoryService.ts:115Declarative selector evaluated against one bounded visible snapshot.

Properties

maxCandidates?

readonly optional maxCandidates?: number
Defined in: packages/core/src/edge/inventoryService.ts:120

prefer?

readonly optional prefer?: readonly EdgeSelectionPreference[]
Defined in: packages/core/src/edge/inventoryService.ts:117

requires?

readonly optional requires?: EdgeSelectionRequirements
Defined in: packages/core/src/edge/inventoryService.ts:116

strategy?

readonly optional strategy?: EdgeSelectionStrategy
Defined in: packages/core/src/edge/inventoryService.ts:118

userDefaultDeviceName?

readonly optional userDefaultDeviceName?: string
Defined in: packages/core/src/edge/inventoryService.ts:119
@fentaris/core / EdgeSelectionRequirementsDefined in: packages/core/src/edge/inventoryService.ts:98Hard constraints for declarative device selection.

Properties

deploymentId?

readonly optional deploymentId?: string
Defined in: packages/core/src/edge/inventoryService.ts:103

features?

readonly optional features?: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:100

installationDigest?

readonly optional installationDigest?: `sha256:${string}`
Defined in: packages/core/src/edge/inventoryService.ts:104

launchDigest?

readonly optional launchDigest?: string
Defined in: packages/core/src/edge/inventoryService.ts:105

platforms?

readonly optional platforms?: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:101

pool?

readonly optional pool?: string
Defined in: packages/core/src/edge/inventoryService.ts:102

tags?

readonly optional tags?: readonly string[]
Defined in: packages/core/src/edge/inventoryService.ts:99
@fentaris/core / EdgeSelectionResultDefined in: packages/core/src/edge/inventoryService.ts:134Selected public device plus a safe explanation.

Properties

device

readonly device: EdgePublicDeviceView
Defined in: packages/core/src/edge/inventoryService.ts:135

explanation

readonly explanation: EdgeSelectionExplanation
Defined in: packages/core/src/edge/inventoryService.ts:136
@fentaris/core / EdgeSelectionSetResultDefined in: packages/core/src/edge/inventoryService.ts:140Immutable bounded device set selected from one authorized inventory snapshot.

Properties

devices

readonly devices: readonly EdgePublicDeviceView[]
Defined in: packages/core/src/edge/inventoryService.ts:141

explanation

readonly explanation: EdgeSelectionExplanation
Defined in: packages/core/src/edge/inventoryService.ts:142
@fentaris/core / EdgeSerializationLimitsDefined in: packages/core/src/edge/observability.ts:120

Properties

maxArrayItems?

readonly optional maxArrayItems?: number
Defined in: packages/core/src/edge/observability.ts:122

maxBytes?

readonly optional maxBytes?: number
Defined in: packages/core/src/edge/observability.ts:124

maxDepth?

readonly optional maxDepth?: number
Defined in: packages/core/src/edge/observability.ts:121

maxStringLength?

readonly optional maxStringLength?: number
Defined in: packages/core/src/edge/observability.ts:123
@fentaris/core / EdgeSessionPinnerInputsDefined in: packages/core/src/edge/sessionPinning.ts:70Inputs for constructing an EdgeSessionPinner.

Extends

  • PlacementResolverInputs

Properties

bindings

readonly bindings: readonly PlacementBindingModel[]
Defined in: packages/core/src/edge/placement.ts:97Normalized placement bindings.

Inherited from

PlacementResolverInputs.bindings

deviceResolver

readonly deviceResolver: DeviceResolver
Defined in: packages/core/src/edge/sessionPinning.ts:72Control-plane device resolver. Required for edge targets.

expiry?

readonly optional expiry?: SessionBindingExpiryOptions
Defined in: packages/core/src/edge/sessionPinning.ts:76Binding expiry configuration for the default in-memory store.

selectionStore?

readonly optional selectionStore?: EdgeSessionSelectionStore
Defined in: packages/core/src/edge/sessionPinning.ts:78Durable pre-pin selections, when agent-native selection is enabled.

store?

readonly optional store?: SessionBindingStore
Defined in: packages/core/src/edge/sessionPinning.ts:74Replaceable binding store; defaults to InMemorySessionBindingStore.

targets

readonly targets: ReadonlyMap<string, ExecutionTarget>
Defined in: packages/core/src/edge/placement.ts:95Registered execution targets, keyed by name.

Inherited from

PlacementResolverInputs.targets
@fentaris/core / EdgeSessionSelectionDefined in: packages/core/src/edge/inventory.ts:134Durable pre-pin selection requested by an authorized session.

Properties

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/inventory.ts:139

expiresAt

readonly expiresAt: number
Defined in: packages/core/src/edge/inventory.ts:142

inventoryVersion

readonly inventoryVersion: number
Defined in: packages/core/src/edge/inventory.ts:140

selectedAt

readonly selectedAt: number
Defined in: packages/core/src/edge/inventory.ts:141

sessionId

readonly sessionId: string
Defined in: packages/core/src/edge/inventory.ts:135

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/inventory.ts:136

targetName

readonly targetName: string
Defined in: packages/core/src/edge/inventory.ts:137

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/inventory.ts:138
@fentaris/core / EdgeSessionSelectionRequestDefined in: packages/core/src/edge/sessionSelection.ts:15

Properties

deploymentId?

readonly optional deploymentId?: string
Defined in: packages/core/src/edge/sessionSelection.ts:21

device

readonly device: EdgePublicDeviceRef
Defined in: packages/core/src/edge/sessionSelection.ts:20

sessionId

readonly sessionId: string
Defined in: packages/core/src/edge/sessionSelection.ts:16

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/sessionSelection.ts:17

targetName

readonly targetName: string
Defined in: packages/core/src/edge/sessionSelection.ts:19

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/sessionSelection.ts:18

ttlMs?

readonly optional ttlMs?: number
Defined in: packages/core/src/edge/sessionSelection.ts:22
@fentaris/core / EdgeSessionSelectionServiceOptionsDefined in: packages/core/src/edge/sessionSelection.ts:25

Properties

bindings

readonly bindings: SessionBindingStore
Defined in: packages/core/src/edge/sessionSelection.ts:27

defaultTtlMs?

readonly optional defaultTtlMs?: number
Defined in: packages/core/src/edge/sessionSelection.ts:30

inventory

readonly inventory: EdgeInventoryService
Defined in: packages/core/src/edge/sessionSelection.ts:28

maxTtlMs?

readonly optional maxTtlMs?: number
Defined in: packages/core/src/edge/sessionSelection.ts:31

now?

readonly optional now?: () => number
Defined in: packages/core/src/edge/sessionSelection.ts:29

Returns

number

selections

readonly selections: EdgeSessionSelectionStore
Defined in: packages/core/src/edge/sessionSelection.ts:26
@fentaris/core / EdgeSessionSelectionStoreDefined in: packages/core/src/edge/inventory.ts:200Replaceable pre-pin session-selection store.

Properties

diagnostics

readonly diagnostics: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/inventory.ts:201

Methods

delete()

delete(sessionId, subjectId, targetName): Promise<EdgeSessionSelection | undefined>
Defined in: packages/core/src/edge/inventory.ts:204

Parameters

sessionId
string
subjectId
string
targetName
string

Returns

Promise<EdgeSessionSelection | undefined>

deleteSession()

deleteSession(sessionId): Promise<readonly EdgeSessionSelection[]>
Defined in: packages/core/src/edge/inventory.ts:205

Parameters

sessionId
string

Returns

Promise<readonly EdgeSessionSelection[]>

get()

get(sessionId, subjectId, targetName): Promise<EdgeSessionSelection | undefined>
Defined in: packages/core/src/edge/inventory.ts:203

Parameters

sessionId
string
subjectId
string
targetName
string

Returns

Promise<EdgeSessionSelection | undefined>

purgeExpired()

purgeExpired(evaluatedAt): Promise<readonly EdgeSessionSelection[]>
Defined in: packages/core/src/edge/inventory.ts:206

Parameters

evaluatedAt
number

Returns

Promise<readonly EdgeSessionSelection[]>

put()

put(selection): Promise<void>
Defined in: packages/core/src/edge/inventory.ts:202

Parameters

selection
EdgeSessionSelection

Returns

Promise<void>
@fentaris/core / EdgeSetupStatusMessageDefined in: packages/core/src/edge/controlProtocol.ts:174Common trusted routing claims carried by edge control messages.

Extends

  • EdgeProtocolClaims

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlProtocol.ts:36

Inherited from

EdgeProtocolClaims.connectionGeneration

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/controlProtocol.ts:177

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlProtocol.ts:35

Inherited from

EdgeProtocolClaims.edgeNodeId

grantRefs?

readonly optional grantRefs?: Readonly<Record<string, string>>
Defined in: packages/core/src/edge/controlProtocol.ts:181

kind

readonly kind: "edge.setup-status"
Defined in: packages/core/src/edge/controlProtocol.ts:176

recipeDigest

readonly recipeDigest: string
Defined in: packages/core/src/edge/controlProtocol.ts:178

setupSchemaVersion

readonly setupSchemaVersion: number
Defined in: packages/core/src/edge/controlProtocol.ts:179

status

readonly status: "denied" | "pending" | "ready" | "revoked"
Defined in: packages/core/src/edge/controlProtocol.ts:180

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlProtocol.ts:34

Inherited from

EdgeProtocolClaims.tenantId

version

readonly version: EdgeProtocolVersion
Defined in: packages/core/src/edge/controlProtocol.ts:175
@fentaris/core / EdgeSetupStatusStoreDefined in: packages/core/src/edge/controlPlane.ts:113Replaceable edge setup/readiness store contract.

Methods

get()

get(tenantId, edgeNodeId, deploymentId): Promise<EdgeSetupStatusMessage | undefined>
Defined in: packages/core/src/edge/controlPlane.ts:114

Parameters

tenantId
string
edgeNodeId
string
deploymentId
string

Returns

Promise<EdgeSetupStatusMessage | undefined>

put()

put(status): Promise<void>
Defined in: packages/core/src/edge/controlPlane.ts:115

Parameters

status
EdgeSetupStatusMessage

Returns

Promise<void>
@fentaris/core / EdgeSingleCallCoordinatorOptionsDefined in: packages/core/src/edge/controlInvocation.ts:29

Properties

children

readonly children: EdgeChildBindingManager
Defined in: packages/core/src/edge/controlInvocation.ts:31

createId?

readonly optional createId?: () => string
Defined in: packages/core/src/edge/controlInvocation.ts:43

Returns

string

defaultDeadlineMs?

readonly optional defaultDeadlineMs?: number
Defined in: packages/core/src/edge/controlInvocation.ts:45

dispatch

readonly dispatch: (route, toolName, args, context) => Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/edge/controlInvocation.ts:37

Parameters

route
EdgeTrustedChildRoute
toolName
string
args
Record<string, unknown>
context
ProxyContext

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

inventory

readonly inventory: EdgeInventoryService
Defined in: packages/core/src/edge/controlInvocation.ts:30

listTools

readonly listTools: (user, identity, subject) => Promise<readonly object[]>
Defined in: packages/core/src/edge/controlInvocation.ts:32

Parameters

user
UserContext
identity
IdentityMetadata | undefined
subject
ResolvedSubject | undefined

Returns

Promise<readonly object[]>

maxDeadlineMs?

readonly optional maxDeadlineMs?: number
Defined in: packages/core/src/edge/controlInvocation.ts:46

now?

readonly optional now?: () => number
Defined in: packages/core/src/edge/controlInvocation.ts:44

Returns

number
@fentaris/core / EdgeSingleCallStructuredResultDefined in: packages/core/src/edge/controlInvocation.ts:49

Properties

correlationId

readonly correlationId: string
Defined in: packages/core/src/edge/controlInvocation.ts:52

device

readonly device: EdgePublicDeviceRef
Defined in: packages/core/src/edge/controlInvocation.ts:51

nextActions

readonly nextActions: readonly string[]
Defined in: packages/core/src/edge/controlInvocation.ts:55

result

readonly result: object
Defined in: packages/core/src/edge/controlInvocation.ts:53

Index Signature

[key: string]: unknown

_meta?

optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.

content

content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]

isError?

optional isError?: boolean

structuredContent?

optional structuredContent?: object
Index Signature
[key: string]: unknown

status

readonly status: "failed" | "succeeded"
Defined in: packages/core/src/edge/controlInvocation.ts:50

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/edge/controlInvocation.ts:54
@fentaris/core / EdgeTargetOptionsDefined in: packages/core/src/edge/target.ts:147Options for edge.

Properties

device

device: DeviceSelector
Defined in: packages/core/src/edge/target.ts:149Device selector for the target.

strategy?

optional strategy?: TargetSelectionStrategy
Defined in: packages/core/src/edge/target.ts:151Selection strategy for pool resolution.
@fentaris/core / EdgeTelemetrySinkDefined in: packages/core/src/edge/observability.ts:43

Methods

emit()

emit(event): void | Promise<void>
Defined in: packages/core/src/edge/observability.ts:44

Parameters

event
EdgeRuntimeEvent

Returns

void | Promise<void>
@fentaris/core / EdgeTokenIssuanceServiceDefined in: packages/core/src/edge/integratedServices.ts:65Token issuance and refresh rotation.

Methods

inspectAccessToken()

inspectAccessToken(accessToken): Promise<{ deviceCodeHash: string; expiresAt: number; subjectId: string; tenantId: string; } | undefined>
Defined in: packages/core/src/edge/integratedServices.ts:69

Parameters

accessToken
string

Returns

Promise<{ deviceCodeHash: string; expiresAt: number; subjectId: string; tenantId: string; } | undefined>

issueForApprovedSession()

issueForApprovedSession(session): Promise<EdgeControlPlaneTokenResponse>
Defined in: packages/core/src/edge/integratedServices.ts:66

Parameters

session
EdgeAuthorizationSession

Returns

Promise<EdgeControlPlaneTokenResponse>

refresh()

refresh(request): Promise<EdgeControlPlaneTokenResponse>
Defined in: packages/core/src/edge/integratedServices.ts:67

Parameters

request
EdgeTokenRefreshRequest

Returns

Promise<EdgeControlPlaneTokenResponse>

revokeDeviceTokens()

revokeDeviceTokens(tenantId, edgeNodeId): Promise<void>
Defined in: packages/core/src/edge/integratedServices.ts:68

Parameters

tenantId
string
edgeNodeId
string

Returns

Promise<void>
@fentaris/core / EdgeTransportChannelDefined in: packages/core/src/edge/EdgeTransport.ts:38Bidirectional channel used by EdgeTransport.

Methods

onMessage()

onMessage(handler): () => void
Defined in: packages/core/src/edge/EdgeTransport.ts:40

Parameters

handler
(message) => void

Returns

() => void

send()

send(message): Promise<void>
Defined in: packages/core/src/edge/EdgeTransport.ts:39

Parameters

message
EdgeMcpOutboundEnvelope

Returns

Promise<void>
@fentaris/core / EdgeTransportOptionsDefined in: packages/core/src/edge/EdgeTransport.ts:44Configuration for EdgeTransport.

Properties

channel

channel: EdgeTransportChannel
Defined in: packages/core/src/edge/EdgeTransport.ts:45

defaultTimeoutMs?

optional defaultTimeoutMs?: number
Defined in: packages/core/src/edge/EdgeTransport.ts:46

onLateResult?

optional onLateResult?: (message) => void
Defined in: packages/core/src/edge/EdgeTransport.ts:48

Parameters

message
EdgeMcpInboundEnvelope

Returns

void

requestId?

optional requestId?: () => string
Defined in: packages/core/src/edge/EdgeTransport.ts:47

Returns

string

telemetry?

optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/edge/EdgeTransport.ts:49
@fentaris/core / EdgeTrustedChildRouteDefined in: packages/core/src/edge/controlInvocation.ts:14

Properties

childBindingId

readonly childBindingId: string
Defined in: packages/core/src/edge/controlInvocation.ts:17

childRequestId

readonly childRequestId: string
Defined in: packages/core/src/edge/controlInvocation.ts:18

childSessionId

readonly childSessionId: string
Defined in: packages/core/src/edge/controlInvocation.ts:16

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/controlInvocation.ts:23

deadline?

readonly optional deadline?: number
Defined in: packages/core/src/edge/controlInvocation.ts:25

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/controlInvocation.ts:24

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/controlInvocation.ts:22

parentSessionId

readonly parentSessionId: string
Defined in: packages/core/src/edge/controlInvocation.ts:15

signal

readonly signal: AbortSignal
Defined in: packages/core/src/edge/controlInvocation.ts:26

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/controlInvocation.ts:20

targetName

readonly targetName: string
Defined in: packages/core/src/edge/controlInvocation.ts:21

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/controlInvocation.ts:19
@fentaris/core / EdgeUserMetadataDefined in: packages/core/src/edge/inventory.ts:25User-maintained descriptive metadata. It never grants access.

Properties

description?

readonly optional description?: string
Defined in: packages/core/src/edge/inventory.ts:27

name

readonly name: string
Defined in: packages/core/src/edge/inventory.ts:26

tags

readonly tags: readonly string[]
Defined in: packages/core/src/edge/inventory.ts:28

updatedAt

readonly updatedAt: number
Defined in: packages/core/src/edge/inventory.ts:29
@fentaris/core / EdgeWebSocketGatewayOptionsDefined in: packages/core/src/edge/gateway.ts:81Configuration for the reference outbound WebSocket gateway.

Properties

authenticator

authenticator: EdgeGatewayAuthenticator
Defined in: packages/core/src/edge/gateway.ts:82

authorizer?

optional authorizer?: EdgeGatewayAuthorizer
Defined in: packages/core/src/edge/gateway.ts:91

capabilityManifestStore

capabilityManifestStore: EdgeCapabilityManifestStore
Defined in: packages/core/src/edge/gateway.ts:87

connectionId?

optional connectionId?: () => string
Defined in: packages/core/src/edge/gateway.ts:96

Returns

string

connectionStore

connectionStore: EdgeConnectionStore
Defined in: packages/core/src/edge/gateway.ts:84

desiredStateStore

desiredStateStore: EdgeDesiredStateStore
Defined in: packages/core/src/edge/gateway.ts:85

deviceRegistry

deviceRegistry: EdgeDeviceRegistry
Defined in: packages/core/src/edge/gateway.ts:83

events?

optional events?: EdgeGatewayEventSink
Defined in: packages/core/src/edge/gateway.ts:98

handshakeTimeoutMs?

optional handshakeTimeoutMs?: number
Defined in: packages/core/src/edge/gateway.ts:92

heartbeatTimeoutMs?

optional heartbeatTimeoutMs?: number
Defined in: packages/core/src/edge/gateway.ts:93

installationStatusStore?

optional installationStatusStore?: EdgeInstallationStatusStore
Defined in: packages/core/src/edge/gateway.ts:90

maxBufferedBytes?

optional maxBufferedBytes?: number
Defined in: packages/core/src/edge/gateway.ts:94

now?

optional now?: () => number
Defined in: packages/core/src/edge/gateway.ts:95

Returns

number

presenceStore?

optional presenceStore?: EdgePresenceStore
Defined in: packages/core/src/edge/gateway.ts:88

readinessStore?

optional readinessStore?: EdgeReadinessStore
Defined in: packages/core/src/edge/gateway.ts:89

setupStatusStore

setupStatusStore: EdgeSetupStatusStore
Defined in: packages/core/src/edge/gateway.ts:86

telemetry?

optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/edge/gateway.ts:97
@fentaris/core / EnterpriseInstallationSourceDefined in: packages/core/src/edge/installation.ts:59

Properties

adapter

readonly adapter: string
Defined in: packages/core/src/edge/installation.ts:61

artifactRef

readonly artifactRef: string
Defined in: packages/core/src/edge/installation.ts:62

credentialRef?

readonly optional credentialRef?: string
Defined in: packages/core/src/edge/installation.ts:64

integrity

readonly integrity: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:63

kind

readonly kind: "enterprise"
Defined in: packages/core/src/edge/installation.ts:60
@fentaris/core / FileSetupFieldDefined in: packages/core/src/edge/setup.ts:53File grant field.

Extends

  • SetupFieldCommon

Properties

access

readonly access: SetupFieldAccess
Defined in: packages/core/src/edge/setup.ts:56Requested access for the local file grant.

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:42Whether the resolved value may be returned to the control plane. Defaults to false for sensitive local fields. Only non-sensitive fields may opt in.

Inherited from

SetupFieldCommon.cloudVisible

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:36Description for setup prompts. Must not contain resolved values.

Inherited from

SetupFieldCommon.description

kind

readonly kind: "file"
Defined in: packages/core/src/edge/setup.ts:54

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:34Human-readable label for setup prompts.

Inherited from

SetupFieldCommon.label

name

readonly name: string
Defined in: packages/core/src/edge/setup.ts:30Field name; assigned from the setup schema object key.

Inherited from

SetupFieldCommon.name

required

readonly required: boolean
Defined in: packages/core/src/edge/setup.ts:32Whether the field must be supplied. Defaults to true.

Inherited from

SetupFieldCommon.required
@fentaris/core / FileSystemFieldOptionsDefined in: packages/core/src/edge/setup.ts:128Builder options for folder/file fields.

Properties

access?

readonly optional access?: SetupFieldAccess
Defined in: packages/core/src/edge/setup.ts:129

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:132

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:131

required?

readonly optional required?: boolean
Defined in: packages/core/src/edge/setup.ts:130
@fentaris/core / FolderSetupFieldDefined in: packages/core/src/edge/setup.ts:46Folder grant field.

Extends

  • SetupFieldCommon

Properties

access

readonly access: SetupFieldAccess
Defined in: packages/core/src/edge/setup.ts:49Requested access for the local directory grant.

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:42Whether the resolved value may be returned to the control plane. Defaults to false for sensitive local fields. Only non-sensitive fields may opt in.

Inherited from

SetupFieldCommon.cloudVisible

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:36Description for setup prompts. Must not contain resolved values.

Inherited from

SetupFieldCommon.description

kind

readonly kind: "folder"
Defined in: packages/core/src/edge/setup.ts:47

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:34Human-readable label for setup prompts.

Inherited from

SetupFieldCommon.label

name

readonly name: string
Defined in: packages/core/src/edge/setup.ts:30Field name; assigned from the setup schema object key.

Inherited from

SetupFieldCommon.name

required

readonly required: boolean
Defined in: packages/core/src/edge/setup.ts:32Whether the field must be supplied. Defaults to true.

Inherited from

SetupFieldCommon.required
@fentaris/core / GitInstallationSourceDefined in: packages/core/src/edge/installation.ts:31

Properties

commit

readonly commit: string
Defined in: packages/core/src/edge/installation.ts:34

credentialRef?

readonly optional credentialRef?: string
Defined in: packages/core/src/edge/installation.ts:36

kind

readonly kind: "git"
Defined in: packages/core/src/edge/installation.ts:32

repository

readonly repository: string
Defined in: packages/core/src/edge/installation.ts:33

submodules?

readonly optional submodules?: Readonly<Record<string, `sha256:${string}`>>
Defined in: packages/core/src/edge/installation.ts:35
@fentaris/core / InlineInstallationSourceDefined in: packages/core/src/edge/installation.ts:47

Properties

content

readonly content: string
Defined in: packages/core/src/edge/installation.ts:49

filename?

readonly optional filename?: string
Defined in: packages/core/src/edge/installation.ts:50

kind

readonly kind: "inline"
Defined in: packages/core/src/edge/installation.ts:48
@fentaris/core / InstallationApprovalRecordDefined in: packages/core/src/edge/installation.ts:229

Properties

approvalDigest

readonly approvalDigest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:230

cleanup?

readonly optional cleanup?: boolean
Defined in: packages/core/src/edge/installation.ts:234

decidedAt

readonly decidedAt: number
Defined in: packages/core/src/edge/installation.ts:233

decision

readonly decision: "approved" | "denied" | "revoked"
Defined in: packages/core/src/edge/installation.ts:232

recipeDigest

readonly recipeDigest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:231
@fentaris/core / InstallationApprovalStoreDefined in: packages/core/src/edge/installation.ts:268

Methods

get()

get(approvalDigest, cleanup?): Promise<InstallationApprovalRecord | undefined>
Defined in: packages/core/src/edge/installation.ts:269

Parameters

approvalDigest
`sha256:${string}`
cleanup?
boolean

Returns

Promise<InstallationApprovalRecord | undefined>

put()

put(approval): Promise<void>
Defined in: packages/core/src/edge/installation.ts:270

Parameters

approval
InstallationApprovalRecord

Returns

Promise<void>
@fentaris/core / InstallationArtifactRecordDefined in: packages/core/src/edge/installation.ts:219

Properties

active

readonly active: boolean
Defined in: packages/core/src/edge/installation.ts:224

externalSideEffects?

readonly optional externalSideEffects?: boolean
Defined in: packages/core/src/edge/installation.ts:226

outputs

readonly outputs: Readonly<Record<string, string>>
Defined in: packages/core/src/edge/installation.ts:222

recipeDigest

readonly recipeDigest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:220

references

readonly references: number
Defined in: packages/core/src/edge/installation.ts:225

root

readonly root: string
Defined in: packages/core/src/edge/installation.ts:221

verifiedAt

readonly verifiedAt: number
Defined in: packages/core/src/edge/installation.ts:223
@fentaris/core / InstallationArtifactStoreDefined in: packages/core/src/edge/installation.ts:279

Methods

delete()

delete(recipeDigest): Promise<void>
Defined in: packages/core/src/edge/installation.ts:283

Parameters

recipeDigest
`sha256:${string}`

Returns

Promise<void>

get()

get(recipeDigest): Promise<InstallationArtifactRecord | undefined>
Defined in: packages/core/src/edge/installation.ts:280

Parameters

recipeDigest
`sha256:${string}`

Returns

Promise<InstallationArtifactRecord | undefined>

list()

list(): Promise<readonly InstallationArtifactRecord[]>
Defined in: packages/core/src/edge/installation.ts:281

Returns

Promise<readonly InstallationArtifactRecord[]>

put()

put(artifact): Promise<void>
Defined in: packages/core/src/edge/installation.ts:282

Parameters

artifact
InstallationArtifactRecord

Returns

Promise<void>
@fentaris/core / InstallationAttemptStoreDefined in: packages/core/src/edge/installation.ts:262

Methods

get()

get(attemptId): Promise<InstallationAttemptSummary | undefined>
Defined in: packages/core/src/edge/installation.ts:263

Parameters

attemptId
string

Returns

Promise<InstallationAttemptSummary | undefined>

list()

list(recipeDigest): Promise<readonly InstallationAttemptSummary[]>
Defined in: packages/core/src/edge/installation.ts:264

Parameters

recipeDigest
`sha256:${string}`

Returns

Promise<readonly InstallationAttemptSummary[]>

put()

put(attempt): Promise<void>
Defined in: packages/core/src/edge/installation.ts:265

Parameters

attempt
InstallationAttemptSummary

Returns

Promise<void>
@fentaris/core / InstallationAttemptSummaryDefined in: packages/core/src/edge/installation.ts:196

Properties

attemptId

readonly attemptId: string
Defined in: packages/core/src/edge/installation.ts:197

finishedAt?

readonly optional finishedAt?: number
Defined in: packages/core/src/edge/installation.ts:201

reasonCode?

readonly optional reasonCode?: InstallationReasonCode
Defined in: packages/core/src/edge/installation.ts:202

recipeDigest

readonly recipeDigest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:198

retryable

readonly retryable: boolean
Defined in: packages/core/src/edge/installation.ts:203

startedAt

readonly startedAt: number
Defined in: packages/core/src/edge/installation.ts:200

state

readonly state: InstallationLifecycleState
Defined in: packages/core/src/edge/installation.ts:199
@fentaris/core / InstallationBuilderDefaultsDefined in: packages/core/src/edge/installation.ts:370

Properties

cleanup?

readonly optional cleanup?: InstallationCleanup
Defined in: packages/core/src/edge/installation.ts:375

outputs

readonly outputs: readonly InstallationOutput[]
Defined in: packages/core/src/edge/installation.ts:373

permissions?

readonly optional permissions?: Partial<InstallationPermissions>
Defined in: packages/core/src/edge/installation.ts:371

platforms?

readonly optional platforms?: InstallationPlatformConstraint
Defined in: packages/core/src/edge/installation.ts:376

retention?

readonly optional retention?: InstallationRetention
Defined in: packages/core/src/edge/installation.ts:374

verification

readonly verification: readonly InstallationVerification[]
Defined in: packages/core/src/edge/installation.ts:372
@fentaris/core / InstallationCleanupDefined in: packages/core/src/edge/installation.ts:160

Properties

args?

readonly optional args?: readonly string[]
Defined in: packages/core/src/edge/installation.ts:164

entrypoint?

readonly optional entrypoint?: string
Defined in: packages/core/src/edge/installation.ts:162

externalSideEffects?

readonly optional externalSideEffects?: boolean
Defined in: packages/core/src/edge/installation.ts:165

interpreter?

readonly optional interpreter?: "python" | "executable" | "sh" | "bash" | "node" | "powershell"
Defined in: packages/core/src/edge/installation.ts:163

kind

readonly kind: "custom" | "manual" | "managed-directory"
Defined in: packages/core/src/edge/installation.ts:161
@fentaris/core / InstallationFilesystemPermissionDefined in: packages/core/src/edge/installation.ts:117

Properties

access

readonly access: "read" | "read-write"
Defined in: packages/core/src/edge/installation.ts:119

grantRef

readonly grantRef: string
Defined in: packages/core/src/edge/installation.ts:118
@fentaris/core / InstallationLifecycleStoreDefined in: packages/core/src/edge/installation.ts:273

Methods

get()

get(deploymentId): Promise<InstallationLifecycleSummary | undefined>
Defined in: packages/core/src/edge/installation.ts:274

Parameters

deploymentId
string

Returns

Promise<InstallationLifecycleSummary | undefined>

list()

list(): Promise<readonly InstallationLifecycleSummary[]>
Defined in: packages/core/src/edge/installation.ts:275

Returns

Promise<readonly InstallationLifecycleSummary[]>

put()

put(lifecycle): Promise<void>
Defined in: packages/core/src/edge/installation.ts:276

Parameters

lifecycle
InstallationLifecycleSummary

Returns

Promise<void>
@fentaris/core / InstallationLifecycleSummaryDefined in: packages/core/src/edge/installation.ts:206

Properties

attempt?

readonly optional attempt?: InstallationAttemptSummary
Defined in: packages/core/src/edge/installation.ts:214

deploymentId

readonly deploymentId: string
Defined in: packages/core/src/edge/installation.ts:207

desiredVersion

readonly desiredVersion: number
Defined in: packages/core/src/edge/installation.ts:208

launchDigest

readonly launchDigest: string
Defined in: packages/core/src/edge/installation.ts:210

nextAction?

readonly optional nextAction?: string
Defined in: packages/core/src/edge/installation.ts:216

observedAt

readonly observedAt: number
Defined in: packages/core/src/edge/installation.ts:213

readiness

readonly readiness: "ready" | "blocked" | "setup-required" | "unavailable"
Defined in: packages/core/src/edge/installation.ts:212

reasonCode?

readonly optional reasonCode?: InstallationReasonCode
Defined in: packages/core/src/edge/installation.ts:215

recipeDigest

readonly recipeDigest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:209

state

readonly state: InstallationLifecycleState
Defined in: packages/core/src/edge/installation.ts:211
@fentaris/core / InstallationLimitsDefined in: packages/core/src/edge/installation.ts:122

Properties

maxDiskBytes

readonly maxDiskBytes: number
Defined in: packages/core/src/edge/installation.ts:125

maxOutputBytes

readonly maxOutputBytes: number
Defined in: packages/core/src/edge/installation.ts:124

maxProcesses

readonly maxProcesses: number
Defined in: packages/core/src/edge/installation.ts:126

timeoutMs

readonly timeoutMs: number
Defined in: packages/core/src/edge/installation.ts:123
@fentaris/core / InstallationMutationLockDefined in: packages/core/src/edge/installation.ts:286

Methods

runExclusive()

runExclusive<T>(installationRoot, operation): Promise<T>
Defined in: packages/core/src/edge/installation.ts:287

Type Parameters

T
T

Parameters

installationRoot
string
operation
() => Promise<T>

Returns

Promise<T>
@fentaris/core / InstallationOutputDefined in: packages/core/src/edge/installation.ts:149

Properties

kind

readonly kind: InstallationOutputKind
Defined in: packages/core/src/edge/installation.ts:151

name

readonly name: string
Defined in: packages/core/src/edge/installation.ts:150

path

readonly path: string
Defined in: packages/core/src/edge/installation.ts:152
@fentaris/core / InstallationPermissionsDefined in: packages/core/src/edge/installation.ts:129

Properties

elevation

readonly elevation: false
Defined in: packages/core/src/edge/installation.ts:135

environment?

readonly optional environment?: readonly string[]
Defined in: packages/core/src/edge/installation.ts:134

executables?

readonly optional executables?: readonly string[]
Defined in: packages/core/src/edge/installation.ts:133

filesystem?

readonly optional filesystem?: readonly InstallationFilesystemPermission[]
Defined in: packages/core/src/edge/installation.ts:132

limits

readonly limits: InstallationLimits
Defined in: packages/core/src/edge/installation.ts:138

network

readonly network: InstallationNetworkMode
Defined in: packages/core/src/edge/installation.ts:130

networkHosts?

readonly optional networkHosts?: readonly string[]
Defined in: packages/core/src/edge/installation.ts:131

requireFilesystemIsolation?

readonly optional requireFilesystemIsolation?: boolean
Defined in: packages/core/src/edge/installation.ts:136

requireNetworkIsolation?

readonly optional requireNetworkIsolation?: boolean
Defined in: packages/core/src/edge/installation.ts:137
@fentaris/core / InstallationPlatformConstraintDefined in: packages/core/src/edge/installation.ts:168

Properties

architectures?

readonly optional architectures?: readonly string[]
Defined in: packages/core/src/edge/installation.ts:170

platforms?

readonly optional platforms?: readonly Platform[]
Defined in: packages/core/src/edge/installation.ts:169

runtimes?

readonly optional runtimes?: Readonly<Record<string, string>>
Defined in: packages/core/src/edge/installation.ts:171
@fentaris/core / InstallationProviderAdapterDefined in: packages/core/src/edge/installation.ts:244

Properties

kind

readonly kind: InstallationProviderKind
Defined in: packages/core/src/edge/installation.ts:245

Methods

cleanup()

cleanup(context): Promise<void>
Defined in: packages/core/src/edge/installation.ts:249

Parameters

context
InstallationProviderContext

Returns

Promise<void>

install()

install(context): Promise<void>
Defined in: packages/core/src/edge/installation.ts:247

Parameters

context
InstallationProviderContext

Returns

Promise<void>

preflight()

preflight(context): Promise<{ ready: boolean; reasonCode?: InstallationReasonCode; }>
Defined in: packages/core/src/edge/installation.ts:246

Parameters

context
InstallationProviderContext

Returns

Promise<{ ready: boolean; reasonCode?: InstallationReasonCode; }>

verify()

verify(context): Promise<Readonly<Record<string, string>>>
Defined in: packages/core/src/edge/installation.ts:248

Parameters

context
InstallationProviderContext

Returns

Promise<Readonly<Record<string, string>>>
@fentaris/core / InstallationProviderContextDefined in: packages/core/src/edge/installation.ts:237

Properties

attemptId

readonly attemptId: string
Defined in: packages/core/src/edge/installation.ts:239

installationRoot

readonly installationRoot: string
Defined in: packages/core/src/edge/installation.ts:241

recipe

readonly recipe: InstallationRecipe
Defined in: packages/core/src/edge/installation.ts:238

stagingRoot

readonly stagingRoot: string
Defined in: packages/core/src/edge/installation.ts:240
@fentaris/core / InstallationRecipeDefined in: packages/core/src/edge/installation.ts:175Complete versioned installation recipe.

Properties

cleanup

readonly cleanup: InstallationCleanup
Defined in: packages/core/src/edge/installation.ts:182

digest

readonly digest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:184

outputs

readonly outputs: readonly InstallationOutput[]
Defined in: packages/core/src/edge/installation.ts:180

permissions

readonly permissions: InstallationPermissions
Defined in: packages/core/src/edge/installation.ts:178

platforms?

readonly optional platforms?: InstallationPlatformConstraint
Defined in: packages/core/src/edge/installation.ts:183

provider

readonly provider: InstallationProvider
Defined in: packages/core/src/edge/installation.ts:177

retention

readonly retention: InstallationRetention
Defined in: packages/core/src/edge/installation.ts:181

verification

readonly verification: readonly InstallationVerification[]
Defined in: packages/core/src/edge/installation.ts:179

version

readonly version: 1
Defined in: packages/core/src/edge/installation.ts:176
@fentaris/core / InstallationResolvedSourceDefined in: packages/core/src/edge/installation.ts:252

Properties

digest

readonly digest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:254

root

readonly root: string
Defined in: packages/core/src/edge/installation.ts:253
@fentaris/core / InstallationRetentionDefined in: packages/core/src/edge/installation.ts:155

Properties

maxAgeMs?

readonly optional maxAgeMs?: number
Defined in: packages/core/src/edge/installation.ts:157

previousVersions

readonly previousVersions: number
Defined in: packages/core/src/edge/installation.ts:156
@fentaris/core / InstallationSourceResolverDefined in: packages/core/src/edge/installation.ts:257

Properties

kind

readonly kind: "git" | "archive" | "inline" | "local" | "enterprise"
Defined in: packages/core/src/edge/installation.ts:258

Methods

resolve()

resolve(source, destination, credentials?): Promise<InstallationResolvedSource>
Defined in: packages/core/src/edge/installation.ts:259

Parameters

source
InstallationSource
destination
string
credentials?
Readonly<Record<string, string>>

Returns

Promise<InstallationResolvedSource>
@fentaris/core / InstallationVerificationDefined in: packages/core/src/edge/installation.ts:141

Properties

args?

readonly optional args?: readonly string[]
Defined in: packages/core/src/edge/installation.ts:144

expectedDigest?

readonly optional expectedDigest?: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:146

expectedVersion?

readonly optional expectedVersion?: string
Defined in: packages/core/src/edge/installation.ts:145

kind

readonly kind: "file" | "executable" | "command" | "container-image"
Defined in: packages/core/src/edge/installation.ts:142

target

readonly target: string
Defined in: packages/core/src/edge/installation.ts:143
@fentaris/core / InstalledArtifactReferenceDefined in: packages/core/src/edge/installation.ts:189

Properties

__fentarisInstalledArtifact

readonly __fentarisInstalledArtifact: true
Defined in: packages/core/src/edge/installation.ts:190

installationDigest

readonly installationDigest: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:191

kind

readonly kind: InstallationOutputKind
Defined in: packages/core/src/edge/installation.ts:193

output

readonly output: string
Defined in: packages/core/src/edge/installation.ts:192
@fentaris/core / IsolationDefined in: packages/core/src/types/policy.ts:127Isolation runtime for per-user execution.

Methods

close()

close(): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:133

Returns

MaybePromise<void>

queue()

queue(userId, fn, timeout?): MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/types/policy.ts:128

Parameters

userId
string
fn
() => MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
timeout?
number

Returns

MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
@fentaris/core / LaunchRecipeDefined in: packages/core/src/edge/recipe.ts:23A versioned, serializable launch recipe.

Properties

args

readonly args: readonly (string | RuntimeValueToken)[]
Defined in: packages/core/src/edge/recipe.ts:29Argument templates; entries may be runtime-value tokens.

clientName?

readonly optional clientName?: string
Defined in: packages/core/src/edge/recipe.ts:35Client name reported to the upstream MCP.

clientVersion?

readonly optional clientVersion?: string
Defined in: packages/core/src/edge/recipe.ts:37Client version reported to the upstream MCP.

command

readonly command: string | InstalledArtifactReference
Defined in: packages/core/src/edge/recipe.ts:27Executable command.

digest

readonly digest: string
Defined in: packages/core/src/edge/recipe.ts:43Stable content digest over the canonical recipe payload.

env

readonly env: Readonly<Record<string, string | RuntimeValueToken>>
Defined in: packages/core/src/edge/recipe.ts:31Environment templates; values may be runtime-value tokens.

setupFieldRefs

readonly setupFieldRefs: readonly string[]
Defined in: packages/core/src/edge/recipe.ts:41Sorted setup field names referenced by this recipe.

setupSchemaVersion?

readonly optional setupSchemaVersion?: number
Defined in: packages/core/src/edge/recipe.ts:39Setup schema version this recipe expects.

stderr?

readonly optional stderr?: "pipe" | "inherit" | "overlapped" | "ignore"
Defined in: packages/core/src/edge/recipe.ts:33Stderr policy.

version

readonly version: number
Defined in: packages/core/src/edge/recipe.ts:25Recipe serialization version.
@fentaris/core / LocalInstallationSourceDefined in: packages/core/src/edge/installation.ts:53

Properties

grantRef

readonly grantRef: string
Defined in: packages/core/src/edge/installation.ts:55

integrity

readonly integrity: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:56

kind

readonly kind: "local"
Defined in: packages/core/src/edge/installation.ts:54
@fentaris/core / ManualInstallationProviderDefined in: packages/core/src/edge/installation.ts:98

Properties

detect

readonly detect: InstallationVerification
Defined in: packages/core/src/edge/installation.ts:101

kind

readonly kind: "manual"
Defined in: packages/core/src/edge/installation.ts:99

nextAction

readonly nextAction: string
Defined in: packages/core/src/edge/installation.ts:102

requirement

readonly requirement: string
Defined in: packages/core/src/edge/installation.ts:100
@fentaris/core / NodePackageInstallationProviderDefined in: packages/core/src/edge/installation.ts:70

Properties

allowLifecycleScripts?

readonly optional allowLifecycleScripts?: boolean
Defined in: packages/core/src/edge/installation.ts:75

integrity

readonly integrity: `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:74

kind

readonly kind: "node-package"
Defined in: packages/core/src/edge/installation.ts:71

package

readonly package: string
Defined in: packages/core/src/edge/installation.ts:72

version

readonly version: string
Defined in: packages/core/src/edge/installation.ts:73
@fentaris/core / NumberFieldOptionsDefined in: packages/core/src/edge/setup.ts:150Builder options for a number field.

Extends

  • ScalarFieldOptions

Properties

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:140

Inherited from

ScalarFieldOptions.cloudVisible

default?

readonly optional default?: number
Defined in: packages/core/src/edge/setup.ts:151

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:139

Inherited from

ScalarFieldOptions.description

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:138

Inherited from

ScalarFieldOptions.label

max?

readonly optional max?: number
Defined in: packages/core/src/edge/setup.ts:153

min?

readonly optional min?: number
Defined in: packages/core/src/edge/setup.ts:152

required?

readonly optional required?: boolean
Defined in: packages/core/src/edge/setup.ts:137

Inherited from

ScalarFieldOptions.required
@fentaris/core / NumberSetupFieldDefined in: packages/core/src/edge/setup.ts:78Number field, with optional safe default and bounds.

Extends

  • SetupFieldCommon

Properties

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:42Whether the resolved value may be returned to the control plane. Defaults to false for sensitive local fields. Only non-sensitive fields may opt in.

Inherited from

SetupFieldCommon.cloudVisible

default?

readonly optional default?: number
Defined in: packages/core/src/edge/setup.ts:80

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:36Description for setup prompts. Must not contain resolved values.

Inherited from

SetupFieldCommon.description

kind

readonly kind: "number"
Defined in: packages/core/src/edge/setup.ts:79

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:34Human-readable label for setup prompts.

Inherited from

SetupFieldCommon.label

max?

readonly optional max?: number
Defined in: packages/core/src/edge/setup.ts:82

min?

readonly optional min?: number
Defined in: packages/core/src/edge/setup.ts:81

name

readonly name: string
Defined in: packages/core/src/edge/setup.ts:30Field name; assigned from the setup schema object key.

Inherited from

SetupFieldCommon.name

required

readonly required: boolean
Defined in: packages/core/src/edge/setup.ts:32Whether the field must be supplied. Defaults to true.

Inherited from

SetupFieldCommon.required
@fentaris/core / PlacementBindingModelDefined in: packages/core/src/edge/placement.ts:45A normalized placement binding, independent of declaration style.

Properties

groupId?

readonly optional groupId?: string
Defined in: packages/core/src/edge/placement.ts:51Group id for group-scoped bindings.

scope

readonly scope: PlacementScope
Defined in: packages/core/src/edge/placement.ts:49Scope of the binding.

serverName

readonly serverName: string
Defined in: packages/core/src/edge/placement.ts:47Server name the binding applies to.

targetName

readonly targetName: string
Defined in: packages/core/src/edge/placement.ts:55Registered or built-in target name.

userId?

readonly optional userId?: string
Defined in: packages/core/src/edge/placement.ts:53User id for user-scoped bindings.
@fentaris/core / PlacementOverlapDiagnosticDefined in: packages/core/src/edge/placement.ts:81A normalized startup diagnostic for static placement ambiguity.

Properties

groupIds

readonly groupIds: readonly string[]
Defined in: packages/core/src/edge/placement.ts:89Group ids that produced the overlap.

serverName

readonly serverName: string
Defined in: packages/core/src/edge/placement.ts:83Server with overlapping group bindings.

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/placement.ts:85Subject whose groups overlap.

targets

readonly targets: readonly string[]
Defined in: packages/core/src/edge/placement.ts:87Distinct targets the overlapping groups bind.
@fentaris/core / PlacementRequestDefined in: packages/core/src/edge/placement.ts:59Inputs for resolving placement for a subject and server.

Extended by

  • SessionPinRequest

Properties

groupIds

readonly groupIds: readonly string[]
Defined in: packages/core/src/edge/placement.ts:65Group ids the subject is a member of at resolution time.

requestedTarget?

readonly optional requestedTarget?: string
Defined in: packages/core/src/edge/placement.ts:67Explicit target requested by the downstream session, if any.

serverName

readonly serverName: string
Defined in: packages/core/src/edge/placement.ts:61Server the operation targets.

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/placement.ts:63Authenticated subject id, if known.
@fentaris/core / PlacementResolutionDefined in: packages/core/src/edge/placement.ts:71A resolved placement. Carries no capability information.

Properties

kind

readonly kind: TargetKind
Defined in: packages/core/src/edge/placement.ts:75Target kind, copied from the registered declaration.

source

readonly source: PlacementSource
Defined in: packages/core/src/edge/placement.ts:77Which precedence layer selected this placement.

targetName

readonly targetName: string
Defined in: packages/core/src/edge/placement.ts:73Resolved target name (registered or the built-in cloud).
@fentaris/core / PlacementResolverInputsDefined in: packages/core/src/edge/placement.ts:93Inputs for PlacementResolver.

Extended by

  • EdgeSessionPinnerInputs

Properties

bindings

readonly bindings: readonly PlacementBindingModel[]
Defined in: packages/core/src/edge/placement.ts:97Normalized placement bindings.

targets

readonly targets: ReadonlyMap<string, ExecutionTarget>
Defined in: packages/core/src/edge/placement.ts:95Registered execution targets, keyed by name.
@fentaris/core / PolicyContractDefined in: packages/core/src/types/policy.ts:59Policy for RBAC-style permission enforcement.

Properties

description?

optional description?: string
Defined in: packages/core/src/types/policy.ts:61

metadata?

optional metadata?: object
Defined in: packages/core/src/types/policy.ts:69

Index Signature

[key: string]: unknown

maxDailyCalls?

optional maxDailyCalls?: number

requiresApproval?

optional requiresApproval?: boolean

name

name: string
Defined in: packages/core/src/types/policy.ts:60

Methods

evaluate()

evaluate(request, user, context?): MaybePromise<PolicyDecision>
Defined in: packages/core/src/types/policy.ts:64

Parameters

request
ToolCallRequest | CapabilityOperationRequest
user
UserContext
context?
MiddlewareContext

Returns

MaybePromise<PolicyDecision>

getCapabilityPermissions()?

optional getCapabilityPermissions(serverName): CapabilityPermission[]
Defined in: packages/core/src/types/policy.ts:63

Parameters

serverName
string

Returns

CapabilityPermission[]

getPermissions()

getPermissions(serverName): ToolPermission[]
Defined in: packages/core/src/types/policy.ts:62

Parameters

serverName
string

Returns

ToolPermission[]
@fentaris/core / PythonInstallationProviderDefined in: packages/core/src/edge/installation.ts:78

Properties

hashes

readonly hashes: readonly `sha256:${string}`[]
Defined in: packages/core/src/edge/installation.ts:82

kind

readonly kind: "python"
Defined in: packages/core/src/edge/installation.ts:79

package

readonly package: string
Defined in: packages/core/src/edge/installation.ts:80

python?

readonly optional python?: string
Defined in: packages/core/src/edge/installation.ts:83

version

readonly version: string
Defined in: packages/core/src/edge/installation.ts:81
@fentaris/core / RateLimiterDefined in: packages/core/src/types/policy.ts:102Rate limiter with sliding window and quota support.

Properties

metadata?

optional metadata?: object
Defined in: packages/core/src/types/policy.ts:107

maxDailyCalls?

optional maxDailyCalls?: number

maxPerWindow?

optional maxPerWindow?: number

windowMs?

optional windowMs?: number

Methods

checkLimit()

checkLimit(key): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:104

Parameters

key
string

Returns

MaybePromise<boolean>

consume()

consume(key): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:103

Parameters

key
string

Returns

MaybePromise<boolean>

getRemainingCalls()

getRemainingCalls(key): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:106

Parameters

key
string

Returns

MaybePromise<number>

recordCall()

recordCall(key): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:105

Parameters

key
string

Returns

MaybePromise<void>
@fentaris/core / RateLimitStoreDefined in: packages/core/src/types/policy.ts:90Rate limit store for distributed tracking.

Methods

consume()

consume(key, window, limit): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:92

Parameters

key
string
window
number
limit
number

Returns

MaybePromise<boolean>

consumeMany()?

optional consumeMany(limits): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:93

Parameters

limits
object[]

Returns

MaybePromise<boolean>

get()

get(key): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:94

Parameters

key
string

Returns

MaybePromise<number>

increment()

increment(key, window): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:91

Parameters

key
string
window
number

Returns

MaybePromise<number>

reset()

reset(key): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:95

Parameters

key
string

Returns

MaybePromise<void>
@fentaris/core / RegistryDefined in: packages/core/src/types/policy.ts:80Registry for resolving user data and secrets.

Methods

getSecrets()

getSecrets(userId): MaybePromise<Record<string, string> | null>
Defined in: packages/core/src/types/policy.ts:82

Parameters

userId
string

Returns

MaybePromise<Record<string, string> | null>

getTokens()

getTokens(userId): MaybePromise<Record<string, string> | null>
Defined in: packages/core/src/types/policy.ts:83

Parameters

userId
string

Returns

MaybePromise<Record<string, string> | null>

getUser()

getUser(userId): MaybePromise<UserContext | null>
Defined in: packages/core/src/types/policy.ts:81

Parameters

userId
string

Returns

MaybePromise<UserContext | null>
@fentaris/core / RuntimeValueTokenDefined in: packages/core/src/edge/runtimeInput.ts:24A serializable runtime-value token referencing a setup field by name.

Properties

__fentarisRuntimeValue

readonly __fentarisRuntimeValue: true
Defined in: packages/core/src/edge/runtimeInput.ts:25

kind

readonly kind: RuntimeValueTokenKind
Defined in: packages/core/src/edge/runtimeInput.ts:26

ref

readonly ref: string
Defined in: packages/core/src/edge/runtimeInput.ts:28Name of the setup field this token resolves to.
@fentaris/core / ScalarFieldOptionsDefined in: packages/core/src/edge/setup.ts:136Builder options for simple scalar fields.

Extended by

  • NumberFieldOptions
  • SelectFieldOptions

Properties

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:140

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:139

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:138

required?

readonly optional required?: boolean
Defined in: packages/core/src/edge/setup.ts:137
@fentaris/core / SecretsBackendDefined in: packages/core/src/secrets/types.ts:61Secrets storage backend contract.

Properties

provider

readonly provider: SecretsProvider
Defined in: packages/core/src/secrets/types.ts:62

Methods

has()

has(ref, scope): Promise<boolean>
Defined in: packages/core/src/secrets/types.ts:64

Parameters

ref
string
scope
SecretScope

Returns

Promise<boolean>

listRefs()

listRefs(): Promise<SecretRef[]>
Defined in: packages/core/src/secrets/types.ts:63

Returns

Promise<SecretRef[]>

set()

set(ref, value, scope): Promise<void>
Defined in: packages/core/src/secrets/types.ts:65

Parameters

ref
string
value
string
scope
SecretScope

Returns

Promise<void>

unset()

unset(ref, scope): Promise<boolean>
Defined in: packages/core/src/secrets/types.ts:66

Parameters

ref
string
scope
SecretScope

Returns

Promise<boolean>
@fentaris/core / SecretSetupFieldDefined in: packages/core/src/edge/setup.ts:60Secret field. Never carries a value; never cloud-visible.

Extends

  • SetupFieldCommon

Properties

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:42Whether the resolved value may be returned to the control plane. Defaults to false for sensitive local fields. Only non-sensitive fields may opt in.

Inherited from

SetupFieldCommon.cloudVisible

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:36Description for setup prompts. Must not contain resolved values.

Inherited from

SetupFieldCommon.description

kind

readonly kind: "secret"
Defined in: packages/core/src/edge/setup.ts:61

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:34Human-readable label for setup prompts.

Inherited from

SetupFieldCommon.label

name

readonly name: string
Defined in: packages/core/src/edge/setup.ts:30Field name; assigned from the setup schema object key.

Inherited from

SetupFieldCommon.name

required

readonly required: boolean
Defined in: packages/core/src/edge/setup.ts:32Whether the field must be supplied. Defaults to true.

Inherited from

SetupFieldCommon.required
@fentaris/core / SelectFieldOptionsDefined in: packages/core/src/edge/setup.ts:144Builder options for a select field.

Extends

  • ScalarFieldOptions

Properties

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:140

Inherited from

ScalarFieldOptions.cloudVisible

default?

readonly optional default?: string
Defined in: packages/core/src/edge/setup.ts:146

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:139

Inherited from

ScalarFieldOptions.description

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:138

Inherited from

ScalarFieldOptions.label

options

readonly options: readonly (string | SelectOption)[]
Defined in: packages/core/src/edge/setup.ts:145

required?

readonly optional required?: boolean
Defined in: packages/core/src/edge/setup.ts:137

Inherited from

ScalarFieldOptions.required
@fentaris/core / SelectOptionDefined in: packages/core/src/edge/setup.ts:86Select field with a closed value set.

Properties

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:90Optional human-readable label.

value

readonly value: string
Defined in: packages/core/src/edge/setup.ts:88Stable value resolved at launch.
@fentaris/core / SelectSetupFieldDefined in: packages/core/src/edge/setup.ts:93

Extends

  • SetupFieldCommon

Properties

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:42Whether the resolved value may be returned to the control plane. Defaults to false for sensitive local fields. Only non-sensitive fields may opt in.

Inherited from

SetupFieldCommon.cloudVisible

default?

readonly optional default?: string
Defined in: packages/core/src/edge/setup.ts:96

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:36Description for setup prompts. Must not contain resolved values.

Inherited from

SetupFieldCommon.description

kind

readonly kind: "select"
Defined in: packages/core/src/edge/setup.ts:94

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:34Human-readable label for setup prompts.

Inherited from

SetupFieldCommon.label

name

readonly name: string
Defined in: packages/core/src/edge/setup.ts:30Field name; assigned from the setup schema object key.

Inherited from

SetupFieldCommon.name

options

readonly options: readonly SelectOption[]
Defined in: packages/core/src/edge/setup.ts:95

required

readonly required: boolean
Defined in: packages/core/src/edge/setup.ts:32Whether the field must be supplied. Defaults to true.

Inherited from

SetupFieldCommon.required
@fentaris/core / SessionBindingExpiryOptionsDefined in: packages/core/src/edge/sessionBinding.ts:75Expiry configuration for session-target bindings.

Properties

fixedMs?

readonly optional fixedMs?: number
Defined in: packages/core/src/edge/sessionBinding.ts:88Fixed absolute expiry in milliseconds from creation. When omitted, bindings do not have a hard lifetime cap.

idleMs?

readonly optional idleMs?: number
Defined in: packages/core/src/edge/sessionBinding.ts:82Idle timeout in milliseconds. Refreshed on every access via SessionBindingStore.get. When omitted, bindings do not expire by inactivity.
@fentaris/core / SessionBindingKeyDefined in: packages/core/src/edge/sessionBinding.ts:28Key identifying one session-target binding.

Properties

sessionId

readonly sessionId: string
Defined in: packages/core/src/edge/sessionBinding.ts:30Downstream MCP session id.

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/sessionBinding.ts:32Authenticated subject id, when known.

targetName

readonly targetName: string
Defined in: packages/core/src/edge/sessionBinding.ts:34Logical execution-target name.
@fentaris/core / SessionBindingListenerDefined in: packages/core/src/edge/sessionBinding.ts:69Listener notified when bindings are removed.

Methods

onSessionBindingRemoved()?

optional onSessionBindingRemoved(binding, reason): void
Defined in: packages/core/src/edge/sessionBinding.ts:71Called for every binding removal. Synchronous listeners must not throw.

Parameters

binding
SessionTargetBinding
reason
SessionBindingRemovalReason

Returns

void
@fentaris/core / SessionBindingStoreDefined in: packages/core/src/edge/sessionBinding.ts:104Durable contract for session-target bindings.Methods are atomic with respect to a single key: a concurrent store for the same key either fully replaces the prior value (same node reconnect) or is rejected (different-node takeover). Implementations must not leak the resolved private device inventory in thrown errors.

Methods

addListener()

addListener(listener): void
Defined in: packages/core/src/edge/sessionBinding.ts:133Register a removal listener.

Parameters

listener
SessionBindingListener

Returns

void

clear()

clear(): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:127Remove every binding (runtime shutdown); returns the removed bindings.

Returns

Promise<readonly SessionTargetBinding[]>

delete()

delete(key): Promise<SessionTargetBinding | undefined>
Defined in: packages/core/src/edge/sessionBinding.ts:119Delete a specific binding; returns the removed binding, if any.

Parameters

key
SessionBindingKey

Returns

Promise<SessionTargetBinding | undefined>

deleteSession()

deleteSession(sessionId): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:121Delete every binding for a session; returns the removed bindings.

Parameters

sessionId
string

Returns

Promise<readonly SessionTargetBinding[]>

deleteTarget()

deleteTarget(targetName): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:123Delete every binding for a target; returns the removed bindings.

Parameters

targetName
string

Returns

Promise<readonly SessionTargetBinding[]>

get()

get(key): Promise<SessionTargetBinding | undefined>
Defined in: packages/core/src/edge/sessionBinding.ts:117Read a live binding, refreshing its idle timer. Returns undefined when the binding is missing or has expired (expired bindings are removed).

Parameters

key
SessionBindingKey

Returns

Promise<SessionTargetBinding | undefined>

listBySession()

listBySession(sessionId): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:129List all live bindings for a session.

Parameters

sessionId
string

Returns

Promise<readonly SessionTargetBinding[]>

purgeExpired()

purgeExpired(): Promise<readonly SessionTargetBinding[]>
Defined in: packages/core/src/edge/sessionBinding.ts:125Remove and return all expired bindings.

Returns

Promise<readonly SessionTargetBinding[]>

size()

size(): Promise<number>
Defined in: packages/core/src/edge/sessionBinding.ts:131Number of live bindings currently stored.

Returns

Promise<number>

store()

store(key, value): Promise<SessionTargetBinding>
Defined in: packages/core/src/edge/sessionBinding.ts:111Atomically store a new binding. Idempotent when the same node replays an equal-or-lower generation. Throws EDGE_UNAVAILABLE when an existing live binding is pinned to a different edge node (silent takeover is rejected).

Parameters

key
SessionBindingKey
value
SessionBindingInput

Returns

Promise<SessionTargetBinding>
@fentaris/core / SessionPinRequestDefined in: packages/core/src/edge/sessionPinning.ts:44A request to pin (or reuse) a session target for one server.

Extends

  • PlacementRequest

Properties

connectionGeneration?

readonly optional connectionGeneration?: number
Defined in: packages/core/src/edge/sessionPinning.ts:48Connection generation of the candidate edge node (when known).

deviceSelection?

readonly optional deviceSelection?: EdgeSelectionRequest
Defined in: packages/core/src/edge/sessionPinning.ts:54Optional one-shot declarative device constraints for the first pin.

groupIds

readonly groupIds: readonly string[]
Defined in: packages/core/src/edge/placement.ts:65Group ids the subject is a member of at resolution time.

Inherited from

PlacementRequest.groupIds

requestedDeviceId?

readonly optional requestedDeviceId?: string
Defined in: packages/core/src/edge/sessionPinning.ts:50Device id requested during downstream session establishment, if any.

requestedTarget?

readonly optional requestedTarget?: string
Defined in: packages/core/src/edge/placement.ts:67Explicit target requested by the downstream session, if any.

Inherited from

PlacementRequest.requestedTarget

serverName

readonly serverName: string
Defined in: packages/core/src/edge/placement.ts:61Server the operation targets.

Inherited from

PlacementRequest.serverName

sessionId

readonly sessionId: string
Defined in: packages/core/src/edge/sessionPinning.ts:46Downstream MCP session id.

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/placement.ts:63Authenticated subject id, if known.

Inherited from

PlacementRequest.subjectId

tenantId?

readonly optional tenantId?: string
Defined in: packages/core/src/edge/sessionPinning.ts:52Tenant id, when known.
@fentaris/core / SessionTargetBindingDefined in: packages/core/src/edge/sessionBinding.ts:38A pinned session-target binding.

Properties

alias?

readonly optional alias?: string
Defined in: packages/core/src/edge/sessionBinding.ts:48Control-plane alias, when known.

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/sessionBinding.ts:50Connection generation of the edge node at pin time.

createdAt

readonly createdAt: number
Defined in: packages/core/src/edge/sessionBinding.ts:52Epoch milliseconds when the binding was created.

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/sessionBinding.ts:46Stable opaque edge node id backing the device key.

expiresAt?

readonly optional expiresAt?: number
Defined in: packages/core/src/edge/sessionBinding.ts:56Epoch milliseconds at which the binding expires, when applicable.

lastAccessAt

readonly lastAccessAt: number
Defined in: packages/core/src/edge/sessionBinding.ts:54Epoch milliseconds of the last access (touch).

sessionId

readonly sessionId: string
Defined in: packages/core/src/edge/sessionBinding.ts:40Downstream MCP session id.

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/sessionBinding.ts:42Authenticated subject id, when known.

targetName

readonly targetName: string
Defined in: packages/core/src/edge/sessionBinding.ts:44Logical execution-target name the binding pins.
@fentaris/core / SetupDiagnosticDefined in: packages/core/src/edge/setup.ts:247A diagnostic produced by setup schema validation.

Properties

code

readonly code: "EDGE_PLACEMENT_AMBIGUOUS" | "EDGE_UNAUTHORIZED_TARGET" | "EDGE_UNAVAILABLE" | "EDGE_CAPACITY" | "EDGE_SESSION_PINNED" | "EDGE_INPUT_INVALID" | "EDGE_INVENTORY_CONFLICT" | "EDGE_NAME_CONFLICT" | "EDGE_PROTOCOL" | "EDGE_WORKLOAD" | "EDGE_GRANT" | "EDGE_UNRESOLVED_RUNTIME_INPUT" | `EDGE_SETUP_${string}`
Defined in: packages/core/src/edge/setup.ts:249

field?

readonly optional field?: string
Defined in: packages/core/src/edge/setup.ts:250

message

readonly message: string
Defined in: packages/core/src/edge/setup.ts:251

severity

readonly severity: "error" | "warning"
Defined in: packages/core/src/edge/setup.ts:248
@fentaris/core / SetupSchemaDefined in: packages/core/src/edge/setup.ts:120A normalized, versioned setup schema.

Properties

fields

readonly fields: Readonly<Record<string, SetupField>>
Defined in: packages/core/src/edge/setup.ts:124Fields keyed by name.

version

readonly version: number
Defined in: packages/core/src/edge/setup.ts:122Schema version; bumped on incompatible field changes.
@fentaris/core / StringSetupFieldDefined in: packages/core/src/edge/setup.ts:66Free-form string field, with an optional safe default.

Extends

  • SetupFieldCommon

Properties

cloudVisible?

readonly optional cloudVisible?: boolean
Defined in: packages/core/src/edge/setup.ts:42Whether the resolved value may be returned to the control plane. Defaults to false for sensitive local fields. Only non-sensitive fields may opt in.

Inherited from

SetupFieldCommon.cloudVisible

default?

readonly optional default?: string
Defined in: packages/core/src/edge/setup.ts:68

description?

readonly optional description?: string
Defined in: packages/core/src/edge/setup.ts:36Description for setup prompts. Must not contain resolved values.

Inherited from

SetupFieldCommon.description

kind

readonly kind: "string"
Defined in: packages/core/src/edge/setup.ts:67

label?

readonly optional label?: string
Defined in: packages/core/src/edge/setup.ts:34Human-readable label for setup prompts.

Inherited from

SetupFieldCommon.label

name

readonly name: string
Defined in: packages/core/src/edge/setup.ts:30Field name; assigned from the setup schema object key.

Inherited from

SetupFieldCommon.name

required

readonly required: boolean
Defined in: packages/core/src/edge/setup.ts:32Whether the field must be supplied. Defaults to true.

Inherited from

SetupFieldCommon.required
@fentaris/core / AgentJsonEnvelope
AgentJsonEnvelope<TData> = AgentJsonSuccess<TData> | AgentJsonFailure
Defined in: packages/core/src/tools/index.ts:51

Type Parameters

TData

TData
@fentaris/core / AgentJsonFailure
AgentJsonFailure = object
Defined in: packages/core/src/tools/index.ts:40

Properties

error

error: object
Defined in: packages/core/src/tools/index.ts:42

code

code: string

details?

optional details?: Record<string, unknown>

message

message: string

nextActions

nextActions: AgentJsonNextAction[]
Defined in: packages/core/src/tools/index.ts:48

ok

ok: false
Defined in: packages/core/src/tools/index.ts:41

warnings

warnings: AgentJsonWarning[]
Defined in: packages/core/src/tools/index.ts:47
@fentaris/core / AgentJsonNextAction
AgentJsonNextAction = object
Defined in: packages/core/src/tools/index.ts:17

Properties

command?

optional command?: string
Defined in: packages/core/src/tools/index.ts:19

label

label: string
Defined in: packages/core/src/tools/index.ts:18

reason?

optional reason?: string
Defined in: packages/core/src/tools/index.ts:20
@fentaris/core / AgentJsonSuccess
AgentJsonSuccess<TData> = object
Defined in: packages/core/src/tools/index.ts:32

Type Parameters

TData

TData

Properties

data

data: TData
Defined in: packages/core/src/tools/index.ts:34

nextActions

nextActions: AgentJsonNextAction[]
Defined in: packages/core/src/tools/index.ts:37

ok

ok: true
Defined in: packages/core/src/tools/index.ts:33

pagination?

optional pagination?: AgentPagination
Defined in: packages/core/src/tools/index.ts:35

warnings

warnings: AgentJsonWarning[]
Defined in: packages/core/src/tools/index.ts:36
@fentaris/core / AgentJsonWarning
AgentJsonWarning = object
Defined in: packages/core/src/tools/index.ts:9

Properties

code

code: string
Defined in: packages/core/src/tools/index.ts:10

details?

optional details?: Record<string, unknown>
Defined in: packages/core/src/tools/index.ts:14

mcp?

optional mcp?: string
Defined in: packages/core/src/tools/index.ts:12

message

message: string
Defined in: packages/core/src/tools/index.ts:11

selector?

optional selector?: string
Defined in: packages/core/src/tools/index.ts:13
@fentaris/core / AgentPagination
AgentPagination = object
Defined in: packages/core/src/tools/index.ts:23

Properties

cursor

cursor: string | null
Defined in: packages/core/src/tools/index.ts:25

limit

limit: number
Defined in: packages/core/src/tools/index.ts:24

nextCursor

nextCursor: string | null
Defined in: packages/core/src/tools/index.ts:26

returned

returned: number
Defined in: packages/core/src/tools/index.ts:28

total

total: number
Defined in: packages/core/src/tools/index.ts:27

truncated?

optional truncated?: boolean
Defined in: packages/core/src/tools/index.ts:29
@fentaris/core / ApprovalDecisionController
ApprovalDecisionController = object
Defined in: packages/core/src/types/shared.ts:142Ergonomic helpers for approval callbacks.

Methods

approve()

approve(metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:143

Parameters

metadata?
Record<string, unknown>

Returns

ApprovalResult

deny()

deny(reason?, metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:144

Parameters

reason?
string
metadata?
Record<string, unknown>

Returns

ApprovalResult

pending()

pending(reason?, metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:145

Parameters

reason?
string
metadata?
Record<string, unknown>

Returns

ApprovalResult
@fentaris/core / ApprovalHandler
ApprovalHandler<TRequest> = (request, context) => MaybePromise<ApprovalResult>
Defined in: packages/core/src/types/shared.ts:168Permission approval callback.

Type Parameters

TRequest

TRequest

Parameters

request

TRequest

context

MiddlewareContext

Returns

MaybePromise<ApprovalResult>
@fentaris/core / ApprovalMetadata
ApprovalMetadata = object
Defined in: packages/core/src/types/shared.ts:58Safe approval metadata exposed through policy decisions and logs.

Properties

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:63

reason?

optional reason?: string
Defined in: packages/core/src/types/shared.ts:60

requestId?

optional requestId?: string
Defined in: packages/core/src/types/shared.ts:62

status

status: "approved" | "denied" | "pending"
Defined in: packages/core/src/types/shared.ts:59

url?

optional url?: string
Defined in: packages/core/src/types/shared.ts:61
@fentaris/core / ApprovalResult
ApprovalResult = boolean | { approved: boolean; metadata?: Record<string, unknown>; reason?: string; } | { metadata?: Record<string, unknown>; reason?: string; requestId?: string; status: "approved" | "denied" | "pending"; url?: string; }
Defined in: packages/core/src/types/shared.ts:123Structured result for permission approval callbacks.
@fentaris/core / AuthStatus
AuthStatus = "authenticated" | "requires-login" | "unsupported" | "blocked"
Defined in: packages/core/src/tools/index.ts:95
@fentaris/core / AutoLogOptions
AutoLogOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:365Auto-log configuration for proxied tool calls.

Properties

enabled?

optional enabled?: boolean
Defined in: packages/core/src/proxy/McpProxy.ts:366

failureLevel?

optional failureLevel?: "warn" | "error"
Defined in: packages/core/src/proxy/McpProxy.ts:369

startLevel?

optional startLevel?: "debug" | "info"
Defined in: packages/core/src/proxy/McpProxy.ts:367

successLevel?

optional successLevel?: "debug" | "info"
Defined in: packages/core/src/proxy/McpProxy.ts:368
@fentaris/core / BearerCredentialAuth
BearerCredentialAuth = object
Defined in: packages/core/src/server/McpServer.ts:44MCP server option types.

Properties

credential

credential: CredentialReference
Defined in: packages/core/src/server/McpServer.ts:46

type

type: "bearer"
Defined in: packages/core/src/server/McpServer.ts:45
@fentaris/core / CapabilityOperationRequest
CapabilityOperationRequest = object
Defined in: packages/core/src/types/mcp-operation.ts:110Normalized request used for operation-based policy evaluation.

Properties

operation

operation: McpOperationName
Defined in: packages/core/src/types/mcp-operation.ts:112

raw?

optional raw?: unknown
Defined in: packages/core/src/types/mcp-operation.ts:115

serverName

serverName: string
Defined in: packages/core/src/types/mcp-operation.ts:111

target?

optional target?: string
Defined in: packages/core/src/types/mcp-operation.ts:113

targetKind?

optional targetKind?: CapabilityTargetKind
Defined in: packages/core/src/types/mcp-operation.ts:114
@fentaris/core / CapabilityPermission
CapabilityPermission = object
Defined in: packages/core/src/types/policy.ts:34Operation-based permission model for governed MCP capabilities.

Properties

approval?

optional approval?: ApprovalHandler<CapabilityOperationRequest>
Defined in: packages/core/src/types/policy.ts:41

effect?

optional effect?: "allow" | "deny"
Defined in: packages/core/src/types/policy.ts:39

limiter?

optional limiter?: RateLimiter
Defined in: packages/core/src/types/policy.ts:40

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:42

operation

operation: McpOperationName | "*"
Defined in: packages/core/src/types/policy.ts:36

server?

optional server?: string
Defined in: packages/core/src/types/policy.ts:35

target?

optional target?: string
Defined in: packages/core/src/types/policy.ts:37

targetKind?

optional targetKind?: CapabilityTargetKind
Defined in: packages/core/src/types/policy.ts:38
@fentaris/core / CapabilityPermissionOptions
CapabilityPermissionOptions = Omit<CapabilityPermission, "effect"> & object
Defined in: packages/core/src/governance/governance.ts:330Operation-based permission helper options.

Type Declaration

metadata?

optional metadata?: Record<string, unknown>

sensitive?

optional sensitive?: boolean | Record<string, unknown>
@fentaris/core / CapabilityTargetKind
CapabilityTargetKind = "tool" | "resource" | "resourceTemplate" | "prompt" | "completion"
Defined in: packages/core/src/types/mcp-operation.ts:104Capability target selector kind for policy permissions.
@fentaris/core / CompactToolMetadata
CompactToolMetadata = object
Defined in: packages/core/src/tools/index.ts:66

Properties

authStatus

authStatus: AuthStatus
Defined in: packages/core/src/tools/index.ts:73

available

available: boolean
Defined in: packages/core/src/tools/index.ts:72

description?

optional description?: string
Defined in: packages/core/src/tools/index.ts:71

discovery

discovery: DiscoveryMetadata
Defined in: packages/core/src/tools/index.ts:78

mcp

mcp: string
Defined in: packages/core/src/tools/index.ts:68

name

name: string
Defined in: packages/core/src/tools/index.ts:67

schema

schema: object
Defined in: packages/core/src/tools/index.ts:74

input

input: "available" | "unavailable"

output

output: "available" | "unavailable"

title?

optional title?: string
Defined in: packages/core/src/tools/index.ts:70

upstreamName

upstreamName: string
Defined in: packages/core/src/tools/index.ts:69
@fentaris/core / CompileEdgeDeploymentCatalogOptions
CompileEdgeDeploymentCatalogOptions = object
Defined in: packages/core/src/edge/integratedReconciliation.ts:60

Properties

bindings

readonly bindings: readonly PlacementBindingModel[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:63

installationRecipes?

readonly optional installationRecipes?: ReadonlyMap<string, InstallationRecipe>
Defined in: packages/core/src/edge/integratedReconciliation.ts:65

servers

readonly servers: readonly McpServer[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:61

setupSchemas

readonly setupSchemas: ReadonlyMap<string, SetupSchema>
Defined in: packages/core/src/edge/integratedReconciliation.ts:64

targets

readonly targets: ReadonlyMap<string, ExecutionTarget>
Defined in: packages/core/src/edge/integratedReconciliation.ts:62
@fentaris/core / CompleteParams
CompleteParams = CompleteRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:45Request/result aliases for MCP completion operations.
@fentaris/core / CompleteResponse
CompleteResponse = CompleteResult
Defined in: packages/core/src/types/mcp-operation.ts:46Core middleware and transport types.
@fentaris/core / ConnectionGeneration
ConnectionGeneration = number
Defined in: packages/core/src/edge/sessionBinding.ts:25A monotonically increasing per-device connection generation.
@fentaris/core / CredentialEnvSource
CredentialEnvSource = object
Defined in: packages/core/src/credentials/credentials.ts:44Environment variable credential source.

Properties

[credentialSourceMarker]

readonly [credentialSourceMarker]: true
Defined in: packages/core/src/credentials/credentials.ts:45

name

readonly name: string
Defined in: packages/core/src/credentials/credentials.ts:47

type

readonly type: "env"
Defined in: packages/core/src/credentials/credentials.ts:46
@fentaris/core / CredentialJsonOptions
CredentialJsonOptions = object
Defined in: packages/core/src/credentials/credentials.ts:60Options for encrypted local JSON credential lookup.

Properties

file?

optional file?: string
Defined in: packages/core/src/credentials/credentials.ts:61

key?

optional key?: string
Defined in: packages/core/src/credentials/credentials.ts:62

keyEnv?

optional keyEnv?: string
Defined in: packages/core/src/credentials/credentials.ts:63
@fentaris/core / CredentialJsonSource
CredentialJsonSource = object
Defined in: packages/core/src/credentials/credentials.ts:31Encrypted local JSON credential source.

Properties

[credentialSourceMarker]

readonly [credentialSourceMarker]: true
Defined in: packages/core/src/credentials/credentials.ts:32

file?

readonly optional file?: string
Defined in: packages/core/src/credentials/credentials.ts:35

key?

readonly optional key?: string
Defined in: packages/core/src/credentials/credentials.ts:36

keyEnv?

readonly optional keyEnv?: string
Defined in: packages/core/src/credentials/credentials.ts:37

path

readonly path: string
Defined in: packages/core/src/credentials/credentials.ts:34

type

readonly type: "json"
Defined in: packages/core/src/credentials/credentials.ts:33
@fentaris/core / CredentialReference
CredentialReference = object
Defined in: packages/core/src/credentials/credentials.ts:16Logical credential reference resolved against the current subject.

Properties

[credentialReferenceMarker]

readonly [credentialReferenceMarker]: true
Defined in: packages/core/src/credentials/credentials.ts:17

reference

readonly reference: string
Defined in: packages/core/src/credentials/credentials.ts:18
@fentaris/core / CredentialResolution
CredentialResolution = CredentialSourceMetadata & object
Defined in: packages/core/src/auth/auth.ts:84

Type Declaration

value

value: string
@fentaris/core / CredentialSource
CredentialSource = CredentialJsonSource | CredentialEnvSource
Defined in: packages/core/src/credentials/credentials.ts:25Concrete source for a credential value.
@fentaris/core / CredentialSourceMap
CredentialSourceMap = Record<string, CredentialSource>
Defined in: packages/core/src/credentials/credentials.ts:54Credential source map declared on users, groups, or defaults.
@fentaris/core / CredentialSourceMetadata
CredentialSourceMetadata = object
Defined in: packages/core/src/types/shared.ts:47Credential source metadata safe to expose in middleware and logs.

Properties

groupId?

optional groupId?: string
Defined in: packages/core/src/types/shared.ts:51

reference

reference: string
Defined in: packages/core/src/types/shared.ts:48

source

source: "user" | "group" | "default"
Defined in: packages/core/src/types/shared.ts:49

userId?

optional userId?: string
Defined in: packages/core/src/types/shared.ts:50
@fentaris/core / DetailedToolMetadata
DetailedToolMetadata = CompactToolMetadata & object
Defined in: packages/core/src/tools/index.ts:81

Type Declaration

inputSchema?

optional inputSchema?: unknown

outputSchema?

optional outputSchema?: unknown

sideEffects?

optional sideEffects?: Record<string, unknown>
@fentaris/core / DeviceSelectorType
DeviceSelectorType = "session" | "user-default" | "named" | "pool" | "fallback"
Defined in: packages/core/src/edge/target.ts:30Device selector discriminator.
@fentaris/core / DiscoveryMetadata
DiscoveryMetadata = object
Defined in: packages/core/src/tools/index.ts:97

Properties

cacheStatus

cacheStatus: "not-used" | "refreshed"
Defined in: packages/core/src/tools/index.ts:99

refreshed

refreshed: boolean
Defined in: packages/core/src/tools/index.ts:101

startupStatus

startupStatus: "started-or-reused" | "not-started" | "not-required"
Defined in: packages/core/src/tools/index.ts:100

transportKind

transportKind: "stdio" | "custom"
Defined in: packages/core/src/tools/index.ts:98
@fentaris/core / EdgeAgentMessage
EdgeAgentMessage = EdgeHeartbeatMessage | EdgePresenceReportMessage | EdgeDesiredStateAckMessage | EdgeSetupStatusMessage | EdgeCapabilityManifestMessage | EdgeLifecycleMessage | EdgeInstallationStatusMessage | EdgeInstallationApprovalMessage | EdgeMcpResultEnvelope | EdgeMcpErrorEnvelope
Defined in: packages/core/src/edge/controlProtocol.ts:214Messages accepted from an edge after hello.
@fentaris/core / EdgeAuthenticatedHelloProof
EdgeAuthenticatedHelloProof = object
Defined in: packages/core/src/edge/integratedProtocol.ts:102Authenticated gateway hello envelope fields required by the integrated control plane. Protocol-v2 message contracts remain unchanged; this documents the proof-carrying fields the gateway validates.

Properties

deviceCredential

readonly deviceCredential: string
Defined in: packages/core/src/edge/integratedProtocol.ts:107

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/integratedProtocol.ts:103

nonce

readonly nonce: string
Defined in: packages/core/src/edge/integratedProtocol.ts:105

proof

readonly proof: string
Defined in: packages/core/src/edge/integratedProtocol.ts:106

protocolVersions

readonly protocolVersions: readonly number[]
Defined in: packages/core/src/edge/integratedProtocol.ts:108

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/integratedProtocol.ts:104
@fentaris/core / EdgeAuthenticatedHelloResult
EdgeAuthenticatedHelloResult = { connectionGeneration: number; credentialId: string; edgeNodeId: string; protocolVersion: number; status: "accepted"; tenantId: string; } | { error: EdgeControlPlaneErrorCode; status: "rejected"; }
Defined in: packages/core/src/edge/integratedProtocol.ts:112Result of validating an authenticated hello proof.
@fentaris/core / EdgeAuthorizationSession
EdgeAuthorizationSession = object
Defined in: packages/core/src/edge/integratedServices.ts:23Durable authorization-session record used by device-code flows.

Properties

actorId?

readonly optional actorId?: string
Defined in: packages/core/src/edge/integratedServices.ts:34

approvedAt?

readonly optional approvedAt?: number
Defined in: packages/core/src/edge/integratedServices.ts:35

clientId

readonly clientId: string
Defined in: packages/core/src/edge/integratedServices.ts:25

createdAt

readonly createdAt: number
Defined in: packages/core/src/edge/integratedServices.ts:28

deviceCodeHash

readonly deviceCodeHash: string
Defined in: packages/core/src/edge/integratedServices.ts:26

expiresAt

readonly expiresAt: number
Defined in: packages/core/src/edge/integratedServices.ts:29

intervalSeconds

readonly intervalSeconds: number
Defined in: packages/core/src/edge/integratedServices.ts:30

metadata?

readonly optional metadata?: Readonly<Record<string, string>>
Defined in: packages/core/src/edge/integratedServices.ts:36

pollAttempts

readonly pollAttempts: number
Defined in: packages/core/src/edge/integratedServices.ts:31

status

readonly status: "pending" | "approved" | "denied" | "consumed" | "expired"
Defined in: packages/core/src/edge/integratedServices.ts:32

subjectId?

readonly optional subjectId?: string
Defined in: packages/core/src/edge/integratedServices.ts:33

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/integratedServices.ts:24

userCodeNormalized

readonly userCodeNormalized: string
Defined in: packages/core/src/edge/integratedServices.ts:27
@fentaris/core / EdgeCapabilityChangeListener
EdgeCapabilityChangeListener = (tenantId, deploymentId, state) => void | Promise<void>
Defined in: packages/core/src/edge/capabilityCache.ts:37

Parameters

tenantId

string

deploymentId

string

state

EdgeDiscoveryState

Returns

void | Promise<void>
@fentaris/core / EdgeChildBindingTerminalReason
EdgeChildBindingTerminalReason = "succeeded" | "failed" | "timeout" | "cancelled" | "parent-end" | "shutdown"
Defined in: packages/core/src/edge/sessionSelection.ts:84
@fentaris/core / EdgeControlPlaneConfig
EdgeControlPlaneConfig = { enabled?: false; } | object & SerializableEdgeControlPlaneConfig | object & SerializableEdgeControlPlaneConfig
Defined in: packages/core/src/edge/integratedConfig.ts:137Public application configuration for the integrated Edge control plane. Omitting this object preserves today’s low-level edge wiring.
@fentaris/core / EdgeControlPlaneErrorBody
EdgeControlPlaneErrorBody = object
Defined in: packages/core/src/edge/integratedProtocol.ts:27Confidential control-plane error body. Never includes secrets or existence proofs.

Properties

error

readonly error: EdgeControlPlaneErrorCode
Defined in: packages/core/src/edge/integratedProtocol.ts:28

error_description?

readonly optional error_description?: string
Defined in: packages/core/src/edge/integratedProtocol.ts:29

interval?

readonly optional interval?: number
Defined in: packages/core/src/edge/integratedProtocol.ts:30
@fentaris/core / EdgeControlPlaneErrorCode
EdgeControlPlaneErrorCode = typeof EDGE_CONTROL_PLANE_ERROR_CODES\keyof typeof [EDGE_CONTROL_PLANE_ERROR_CODES]
Defined in: packages/core/src/edge/integratedProtocol.ts:23
@fentaris/core / EdgeControlPlaneManagedAdapters
EdgeControlPlaneManagedAdapters = object
Defined in: packages/core/src/edge/integratedConfig.ts:115Durable/managed adapters required when mode: "managed".

Properties

approval?

readonly optional approval?: EdgeDeviceApprovalAdapter
Defined in: packages/core/src/edge/integratedConfig.ts:128

assignmentResolver?

readonly optional assignmentResolver?: EdgeAssignmentResolver
Defined in: packages/core/src/edge/integratedConfig.ts:129

assignmentStore

readonly assignmentStore: EdgeDesiredAssignmentStore
Defined in: packages/core/src/edge/integratedConfig.ts:123

capabilityManifestStore

readonly capabilityManifestStore: EdgeCapabilityManifestStore
Defined in: packages/core/src/edge/integratedConfig.ts:119

channelBroker?

readonly optional channelBroker?: EdgeChannelBroker
Defined in: packages/core/src/edge/integratedConfig.ts:127

childBindingStore?

readonly optional childBindingStore?: EdgeChildBindingStore
Defined in: packages/core/src/edge/integratedConfig.ts:126

connectionStore

readonly connectionStore: EdgeConnectionStore
Defined in: packages/core/src/edge/integratedConfig.ts:120

desiredStateStore

readonly desiredStateStore: EdgeDesiredStateStore
Defined in: packages/core/src/edge/integratedConfig.ts:117

deviceRegistry

readonly deviceRegistry: EdgeDeviceRegistry
Defined in: packages/core/src/edge/integratedConfig.ts:116

presenceStore

readonly presenceStore: EdgePresenceStore
Defined in: packages/core/src/edge/integratedConfig.ts:121

readinessStore

readonly readinessStore: EdgeReadinessStore
Defined in: packages/core/src/edge/integratedConfig.ts:122

services

readonly services: EdgeControlPlaneManagedServices
Defined in: packages/core/src/edge/integratedConfig.ts:124

sessionSelectionStore?

readonly optional sessionSelectionStore?: EdgeSessionSelectionStore
Defined in: packages/core/src/edge/integratedConfig.ts:125

setupStatusStore

readonly setupStatusStore: EdgeSetupStatusStore
Defined in: packages/core/src/edge/integratedConfig.ts:118
@fentaris/core / EdgeControlPlaneManagedServices
EdgeControlPlaneManagedServices = object
Defined in: packages/core/src/edge/integratedConfig.ts:108Managed authorization/enrollment services owned by the deployment identity boundary.

Properties

authorization

readonly authorization: EdgeDeviceAuthorizationService
Defined in: packages/core/src/edge/integratedConfig.ts:109

enrollment

readonly enrollment: EdgeEnrollmentService
Defined in: packages/core/src/edge/integratedConfig.ts:111

tokens

readonly tokens: EdgeTokenIssuanceService
Defined in: packages/core/src/edge/integratedConfig.ts:110
@fentaris/core / EdgeControlPlaneMessage
EdgeControlPlaneMessage = EdgeHelloAckMessage | EdgeDesiredStateMessage | EdgeInstallationControlMessage | EdgeMcpRequestEnvelope | EdgeMcpCancelEnvelope
Defined in: packages/core/src/edge/controlProtocol.ts:227Messages sent by the control plane after hello.
@fentaris/core / EdgeControlPlaneMode
EdgeControlPlaneMode = "local" | "managed"
Defined in: packages/core/src/edge/integratedConfig.ts:32Integrated control-plane deployment mode.
@fentaris/core / EdgeControlPlaneTokenResponse
EdgeControlPlaneTokenResponse = object
Defined in: packages/core/src/edge/integratedProtocol.ts:57Successful token issuance shared by poll and refresh.

Properties

accessToken

readonly accessToken: string
Defined in: packages/core/src/edge/integratedProtocol.ts:58

expiresAt

readonly expiresAt: number
Defined in: packages/core/src/edge/integratedProtocol.ts:60

refreshToken

readonly refreshToken: string
Defined in: packages/core/src/edge/integratedProtocol.ts:59

tokenType

readonly tokenType: "Bearer"
Defined in: packages/core/src/edge/integratedProtocol.ts:61
@fentaris/core / EdgeCoordinatedPoolStrategy
EdgeCoordinatedPoolStrategy = "round-robin" | "sticky" | "least-loaded" | "highest-capacity"
Defined in: packages/core/src/edge/distributed.ts:13
@fentaris/core / EdgeDeploymentCatalog
EdgeDeploymentCatalog = object
Defined in: packages/core/src/edge/integratedReconciliation.ts:54

Properties

diagnostics

readonly diagnostics: readonly EdgeDeploymentCatalogDiagnostic[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:57

digest

readonly digest: string
Defined in: packages/core/src/edge/integratedReconciliation.ts:55

entries

readonly entries: readonly EdgeDeploymentCatalogEntry[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:56
@fentaris/core / EdgeDeploymentCatalogDiagnostic
EdgeDeploymentCatalogDiagnostic = object
Defined in: packages/core/src/edge/integratedReconciliation.ts:40

Properties

reason

readonly reason: EdgeDeploymentWithheldReason
Defined in: packages/core/src/edge/integratedReconciliation.ts:42

serverName

readonly serverName: string
Defined in: packages/core/src/edge/integratedReconciliation.ts:41
@fentaris/core / EdgeDeploymentCatalogEntry
EdgeDeploymentCatalogEntry = object
Defined in: packages/core/src/edge/integratedReconciliation.ts:45

Properties

deployment

readonly deployment: EdgeDesiredDeployment
Defined in: packages/core/src/edge/integratedReconciliation.ts:46

groupId?

readonly optional groupId?: string
Defined in: packages/core/src/edge/integratedReconciliation.ts:51

scope

readonly scope: PlacementBindingModel["scope"]
Defined in: packages/core/src/edge/integratedReconciliation.ts:49

selector

readonly selector: DeviceSelector
Defined in: packages/core/src/edge/integratedReconciliation.ts:48

targetName

readonly targetName: string
Defined in: packages/core/src/edge/integratedReconciliation.ts:47

userId?

readonly optional userId?: string
Defined in: packages/core/src/edge/integratedReconciliation.ts:50
@fentaris/core / EdgeDeploymentReadinessStatus
EdgeDeploymentReadinessStatus = "ready" | "setup-required" | "blocked" | "stale" | "unavailable"
Defined in: packages/core/src/edge/inventory.ts:104Public, non-sensitive deployment readiness state.
@fentaris/core / EdgeDeploymentWithheldReason
EdgeDeploymentWithheldReason = "cloud-placement" | "unsupported-transport" | "missing-setup-schema" | "subject-not-authorized" | "device-not-selected" | "ambiguous-placement" | "managed-assignment-unavailable"
Defined in: packages/core/src/edge/integratedReconciliation.ts:31
@fentaris/core / EdgeDesiredAssignmentSnapshot
EdgeDesiredAssignmentSnapshot = object
Defined in: packages/core/src/edge/integratedServices.ts:98Desired-state assignment snapshot for one device.

Properties

deploymentIds

readonly deploymentIds: readonly string[]
Defined in: packages/core/src/edge/integratedServices.ts:103

digest

readonly digest: string
Defined in: packages/core/src/edge/integratedServices.ts:102

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/integratedServices.ts:100

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/integratedServices.ts:99

updatedAt

readonly updatedAt: number
Defined in: packages/core/src/edge/integratedServices.ts:104

version

readonly version: number
Defined in: packages/core/src/edge/integratedServices.ts:101
@fentaris/core / EdgeDeviceApprovalDecision
EdgeDeviceApprovalDecision = object
Defined in: packages/core/src/edge/integratedConfig.ts:77Approval decision recorded for an exact pending device-authorization request.

Properties

actorId

readonly actorId: string
Defined in: packages/core/src/edge/integratedConfig.ts:80

approvedAt

readonly approvedAt: number
Defined in: packages/core/src/edge/integratedConfig.ts:81

notes?

readonly optional notes?: string
Defined in: packages/core/src/edge/integratedConfig.ts:82

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/integratedConfig.ts:79

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/integratedConfig.ts:78
@fentaris/core / EdgeDeviceAuthorizeRequest
EdgeDeviceAuthorizeRequest = object
Defined in: packages/core/src/edge/integratedProtocol.ts:34Device authorization creation request.

Properties

clientId

readonly clientId: string
Defined in: packages/core/src/edge/integratedProtocol.ts:35

metadata?

readonly optional metadata?: Readonly<Record<string, string>>
Defined in: packages/core/src/edge/integratedProtocol.ts:37

tenantId?

readonly optional tenantId?: string
Defined in: packages/core/src/edge/integratedProtocol.ts:36
@fentaris/core / EdgeDeviceAuthorizeResponse
EdgeDeviceAuthorizeResponse = object
Defined in: packages/core/src/edge/integratedProtocol.ts:41Device authorization creation response.

Properties

deviceCode

readonly deviceCode: string
Defined in: packages/core/src/edge/integratedProtocol.ts:42

expiresIn

readonly expiresIn: number
Defined in: packages/core/src/edge/integratedProtocol.ts:46

interval

readonly interval: number
Defined in: packages/core/src/edge/integratedProtocol.ts:47

userCode

readonly userCode: string
Defined in: packages/core/src/edge/integratedProtocol.ts:43

verificationUri

readonly verificationUri: string
Defined in: packages/core/src/edge/integratedProtocol.ts:44

verificationUriComplete?

readonly optional verificationUriComplete?: string
Defined in: packages/core/src/edge/integratedProtocol.ts:45
@fentaris/core / EdgeDeviceTokenRequest
EdgeDeviceTokenRequest = object
Defined in: packages/core/src/edge/integratedProtocol.ts:51Device token poll request.

Properties

clientId

readonly clientId: string
Defined in: packages/core/src/edge/integratedProtocol.ts:52

deviceCode

readonly deviceCode: string
Defined in: packages/core/src/edge/integratedProtocol.ts:53
@fentaris/core / EdgeEligibilityContext
EdgeEligibilityContext = object
Defined in: packages/core/src/edge/integratedReconciliation.ts:137

Properties

assignmentResolver?

readonly optional assignmentResolver?: EdgeAssignmentResolver
Defined in: packages/core/src/edge/integratedReconciliation.ts:142

catalog

readonly catalog: EdgeDeploymentCatalog
Defined in: packages/core/src/edge/integratedReconciliation.ts:139

device

readonly device: EdgeDeviceRecord
Defined in: packages/core/src/edge/integratedReconciliation.ts:138

groupIds

readonly groupIds: readonly string[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:140

tenantDevices

readonly tenantDevices: readonly EdgeInventoryListItem[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:141
@fentaris/core / EdgeEligibilityResult
EdgeEligibilityResult = object
Defined in: packages/core/src/edge/integratedReconciliation.ts:145

Properties

deployments

readonly deployments: readonly EdgeDesiredDeployment[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:146

withheld

readonly withheld: readonly EdgeDeploymentCatalogDiagnostic[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:147
@fentaris/core / EdgeEncryptedBlob
EdgeEncryptedBlob = object
Defined in: packages/core/src/edge/integratedLocalStore.ts:75AES-GCM encrypted blob stored under the protected auth boundary.

Properties

algorithm

readonly algorithm: "aes-256-gcm"
Defined in: packages/core/src/edge/integratedLocalStore.ts:76

ciphertext

readonly ciphertext: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:85

iv

readonly iv: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:83

kdf

readonly kdf: object
Defined in: packages/core/src/edge/integratedLocalStore.ts:77

iterations

readonly iterations: number

keyLength

readonly keyLength: 32

name

readonly name: "pbkdf2-sha256"

salt

readonly salt: string

tag

readonly tag: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:84
@fentaris/core / EdgeEnrolledDeviceAuthority
EdgeEnrolledDeviceAuthority = object
Defined in: packages/core/src/edge/integratedServices.ts:40Enrolled device authority used for gateway authentication.

Properties

connectionGeneration

readonly connectionGeneration: number
Defined in: packages/core/src/edge/integratedServices.ts:50

credentialHash

readonly credentialHash: string
Defined in: packages/core/src/edge/integratedServices.ts:46

credentialId

readonly credentialId: string
Defined in: packages/core/src/edge/integratedServices.ts:45

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/integratedServices.ts:42

enrolledAt

readonly enrolledAt: number
Defined in: packages/core/src/edge/integratedServices.ts:47

publicKey

readonly publicKey: string
Defined in: packages/core/src/edge/integratedServices.ts:44

revoked

readonly revoked: boolean
Defined in: packages/core/src/edge/integratedServices.ts:48

revokedAt?

readonly optional revokedAt?: number
Defined in: packages/core/src/edge/integratedServices.ts:49

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/integratedServices.ts:43

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/integratedServices.ts:41
@fentaris/core / EdgeEnrollRequest
EdgeEnrollRequest = object
Defined in: packages/core/src/edge/integratedProtocol.ts:71Enrollment request carrying proof of possession for the device key.

Properties

accessToken

readonly accessToken: string
Defined in: packages/core/src/edge/integratedProtocol.ts:72

description?

readonly optional description?: string
Defined in: packages/core/src/edge/integratedProtocol.ts:79

deviceCode

readonly deviceCode: string
Defined in: packages/core/src/edge/integratedProtocol.ts:74

hostnameLabel?

readonly optional hostnameLabel?: string
Defined in: packages/core/src/edge/integratedProtocol.ts:77

name?

readonly optional name?: string
Defined in: packages/core/src/edge/integratedProtocol.ts:78

nonce

readonly nonce: string
Defined in: packages/core/src/edge/integratedProtocol.ts:75

proof

readonly proof: string
Defined in: packages/core/src/edge/integratedProtocol.ts:76

publicKey

readonly publicKey: string
Defined in: packages/core/src/edge/integratedProtocol.ts:73

tags?

readonly optional tags?: readonly string[]
Defined in: packages/core/src/edge/integratedProtocol.ts:80
@fentaris/core / EdgeEnrollResponse
EdgeEnrollResponse = object
Defined in: packages/core/src/edge/integratedProtocol.ts:84Enrollment success response.

Properties

deviceCredential

readonly deviceCredential: string
Defined in: packages/core/src/edge/integratedProtocol.ts:88

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/integratedProtocol.ts:85

gatewayUrl

readonly gatewayUrl: string
Defined in: packages/core/src/edge/integratedProtocol.ts:87

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/integratedProtocol.ts:86
@fentaris/core / EdgeErrorCode
EdgeErrorCode = "EDGE_PLACEMENT_AMBIGUOUS" | "EDGE_UNAUTHORIZED_TARGET" | "EDGE_SETUP_REQUIRED" | "EDGE_UNAVAILABLE" | "EDGE_CAPACITY" | "EDGE_SESSION_PINNED" | "EDGE_INPUT_INVALID" | "EDGE_INVENTORY_CONFLICT" | "EDGE_NAME_CONFLICT" | "EDGE_PROTOCOL" | "EDGE_WORKLOAD" | "EDGE_GRANT" | "EDGE_UNRESOLVED_RUNTIME_INPUT"
Defined in: packages/core/src/edge/errors.ts:12Normalized edge error code.
@fentaris/core / EdgeFanoutStatus
EdgeFanoutStatus = "succeeded" | "failed" | "cancelled" | "not-started"
Defined in: packages/core/src/edge/fanout.ts:29
@fentaris/core / EdgeInstallationRuntimeEventName
EdgeInstallationRuntimeEventName = "edge.installation.source" | "edge.installation.approval" | "edge.installation.attempt" | "edge.installation.verification" | "edge.installation.activation" | "edge.installation.rollback" | "edge.installation.cleanup"
Defined in: packages/core/src/edge/installationObservability.ts:4
@fentaris/core / EdgeInventoryListItem
EdgeInventoryListItem = Omit<EdgeInventoryRecord, "credentialId"> & object
Defined in: packages/core/src/edge/controlPlane.ts:44Credential-free inventory record returned from list operations.

Type Declaration

deviceRef

readonly deviceRef: EdgePublicDeviceRef
@fentaris/core / EdgeLocalAuthorityDocument
EdgeLocalAuthorityDocument = object
Defined in: packages/core/src/edge/integratedLocalStore.ts:63Durable local authority document. Secrets are hashed or encrypted at rest.

Properties

authorizationSessions

readonly authorizationSessions: readonly EdgeAuthorizationSession[]
Defined in: packages/core/src/edge/integratedLocalStore.ts:66

desiredAssignments

readonly desiredAssignments: readonly EdgeDesiredAssignmentSnapshot[]
Defined in: packages/core/src/edge/integratedLocalStore.ts:69

enrolledDevices

readonly enrolledDevices: readonly EdgeEnrolledDeviceAuthority[]
Defined in: packages/core/src/edge/integratedLocalStore.ts:68

inventory

readonly inventory: Readonly<Record<string, unknown>>
Defined in: packages/core/src/edge/integratedLocalStore.ts:70

refreshCredentials

readonly refreshCredentials: readonly EdgeLocalRefreshCredential[]
Defined in: packages/core/src/edge/integratedLocalStore.ts:67

schemaVersion

readonly schemaVersion: typeof EDGE_LOCAL_AUTHORITY_SCHEMA_VERSION
Defined in: packages/core/src/edge/integratedLocalStore.ts:64

server

readonly server: EdgeLocalServerIdentity
Defined in: packages/core/src/edge/integratedLocalStore.ts:65

updatedAt

readonly updatedAt: number
Defined in: packages/core/src/edge/integratedLocalStore.ts:71
@fentaris/core / EdgeLocalAuthorityStoreOptions
EdgeLocalAuthorityStoreOptions = object
Defined in: packages/core/src/edge/integratedLocalStore.ts:88

Properties

directory

readonly directory: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:89

lockTimeoutMs?

readonly optional lockTimeoutMs?: number
Defined in: packages/core/src/edge/integratedLocalStore.ts:92

now?

readonly optional now?: () => number
Defined in: packages/core/src/edge/integratedLocalStore.ts:91

Returns

number

protectionKey

readonly protectionKey: string | Buffer
Defined in: packages/core/src/edge/integratedLocalStore.ts:90
@fentaris/core / EdgeLocalOperatorClientRequest
EdgeLocalOperatorClientRequest = EdgeLocalOperatorRequest extends infer Request ? Request extends object ? Omit<Request, "credential"> & object : never : never
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:46
@fentaris/core / EdgeLocalOperatorCommand
EdgeLocalOperatorCommand = "approve" | "deny" | "status"
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:20
@fentaris/core / EdgeLocalOperatorEndpoint
EdgeLocalOperatorEndpoint = object
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:52

Properties

address

readonly address: string
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:53

credential

readonly credential: string
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:54

descriptorPath?

readonly optional descriptorPath?: string
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:55
@fentaris/core / EdgeLocalOperatorRequest
EdgeLocalOperatorRequest = { command: "approve"; credential: string; decision: EdgeDeviceApprovalDecision; userCode: string; } | { command: "deny"; credential: string; decision: Omit<EdgeDeviceApprovalDecision, "subjectId"> & object; userCode: string; } | { command: "status"; credential: string; }
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:22
@fentaris/core / EdgeLocalOperatorResponse
EdgeLocalOperatorResponse = object
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:40

Properties

data?

readonly optional data?: unknown
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:42

error?

readonly optional error?: object
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:43

code

readonly code: string

message

readonly message: string

ok

readonly ok: boolean
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:41
@fentaris/core / EdgeLocalOperatorServerOptions
EdgeLocalOperatorServerOptions = object
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:58

Properties

approval

readonly approval: EdgeApprovalService
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:60

endpoint

readonly endpoint: EdgeLocalOperatorEndpoint
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:59

maxRequestBytes?

readonly optional maxRequestBytes?: number
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:67

status

readonly status: () => Promise<{ enrolledDevices: number; mode: "local"; multiInstance: false; pendingApprovals: number; }>
Defined in: packages/core/src/edge/integratedOperatorChannel.ts:61

Returns

Promise<{ enrolledDevices: number; mode: "local"; multiInstance: false; pendingApprovals: number; }>
@fentaris/core / EdgeLocalRefreshCredential
EdgeLocalRefreshCredential = object
Defined in: packages/core/src/edge/integratedLocalStore.ts:53Hashed refresh credential bound to a device.

Properties

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:55

expiresAt

readonly expiresAt: number
Defined in: packages/core/src/edge/integratedLocalStore.ts:58

refreshTokenHash

readonly refreshTokenHash: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:57

rotatedAt

readonly rotatedAt: number
Defined in: packages/core/src/edge/integratedLocalStore.ts:59

subjectId

readonly subjectId: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:56

tenantId

readonly tenantId: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:54
@fentaris/core / EdgeLocalServerIdentity
EdgeLocalServerIdentity = object
Defined in: packages/core/src/edge/integratedLocalStore.ts:46Server identity persisted for the local control plane.

Properties

createdAt

readonly createdAt: number
Defined in: packages/core/src/edge/integratedLocalStore.ts:48

encryptedSigningKey

readonly encryptedSigningKey: EdgeEncryptedBlob
Defined in: packages/core/src/edge/integratedLocalStore.ts:49

serverId

readonly serverId: string
Defined in: packages/core/src/edge/integratedLocalStore.ts:47
@fentaris/core / EdgeMcpInboundEnvelope
EdgeMcpInboundEnvelope = EdgeMcpResultEnvelope | EdgeMcpErrorEnvelope
Defined in: packages/core/src/edge/protocol.ts:83Terminal messages returned by an edge connection.
@fentaris/core / EdgeMcpOperation
EdgeMcpOperation = "tools/list" | "tools/call" | "resources/list" | "resources/read" | "resources/templates/list" | "prompts/list" | "prompts/get" | "completion/complete" | "ping"
Defined in: packages/core/src/edge/protocol.ts:7MCP operations supported across the edge execution boundary.
@fentaris/core / EdgeMcpOutboundEnvelope
EdgeMcpOutboundEnvelope = EdgeMcpRequestEnvelope | EdgeMcpCancelEnvelope
Defined in: packages/core/src/edge/protocol.ts:80Messages sent from the control plane to an edge connection.
@fentaris/core / EdgeMetadataAuthority
EdgeMetadataAuthority = "user" | "agent" | "control-plane"
Defined in: packages/core/src/edge/inventory.ts:15Authority responsible for an inventory value.
@fentaris/core / EdgePresenceStatus
EdgePresenceStatus = "online" | "stale" | "offline" | "revoked"
Defined in: packages/core/src/edge/inventory.ts:86Availability derived from authenticated presence and freshness.
@fentaris/core / EdgeProtocolMessage
EdgeProtocolMessage = EdgeHelloMessage | EdgeAgentMessage | EdgeControlPlaneMessage
Defined in: packages/core/src/edge/controlProtocol.ts:235All versioned edge protocol messages.
@fentaris/core / EdgeProtocolVersion
EdgeProtocolVersion = 1 | 2 | 3
Defined in: packages/core/src/edge/controlProtocol.ts:30A negotiated Edge control protocol version.
@fentaris/core / EdgeReconciliationTrigger
EdgeReconciliationTrigger = "application-start" | "enrollment" | "connection" | "inventory-change" | "readiness-change" | "grant-update" | "assignment-update" | "revocation"
Defined in: packages/core/src/edge/integratedServices.ts:118Triggers that enqueue per-device reconciliation.
@fentaris/core / EdgeRevokeRequest
EdgeRevokeRequest = object
Defined in: packages/core/src/edge/integratedProtocol.ts:92Operator or self-revocation request.

Properties

edgeNodeId

readonly edgeNodeId: string
Defined in: packages/core/src/edge/integratedProtocol.ts:93
@fentaris/core / EdgeRuntimeEventName
EdgeRuntimeEventName = "edge.target.resolved" | "edge.session.bound" | "edge.connection.generation" | "edge.desired.reconciled" | "edge.setup.transition" | "edge.workload.lifecycle" | "edge.request.started" | "edge.request.completed" | "edge.request.timeout" | "edge.request.cancelled" | "edge.request.failed" | "edge.orchestration.started" | "edge.orchestration.child" | "edge.orchestration.completed" | "edge.orchestration.cleanup" | "edge.authorization.created" | "edge.authorization.approved" | "edge.authorization.denied" | "edge.enrollment.completed" | "edge.device.revoked" | "edge.connection.authenticated" | "edge.dispatch.gated"
Defined in: packages/core/src/edge/observability.ts:3
@fentaris/core / EdgeRuntimeOptions
EdgeRuntimeOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:331Edge runtime wiring supplied to McpProxyOptions.edge.

Properties

capabilityCache?

optional capabilityCache?: EdgeCapabilityCache
Defined in: packages/core/src/proxy/McpProxy.ts:343Validated per-deployment manifest cache used by edge discovery.

childBindingManager?

optional childBindingManager?: EdgeChildBindingManager
Defined in: packages/core/src/proxy/McpProxy.ts:351Optional managed child-binding manager for explicit orchestration.

control?

optional control?: object & EdgeControlProviderOptions | { enabled?: false; }
Defined in: packages/core/src/proxy/McpProxy.ts:349Explicit opt-in configuration for the governed Edge Control provider.

controlPlane?

optional controlPlane?: EdgeControlPlaneConfig
Defined in: packages/core/src/proxy/McpProxy.ts:358Integrated Edge control-plane configuration. When enabled, app.start() mounts authorization, enrollment, revocation, and gateway routes. Disabled by default; omitting this field preserves low-level edge wiring only.

deviceResolver?

optional deviceResolver?: DeviceResolver
Defined in: packages/core/src/proxy/McpProxy.ts:333Control-plane device resolver used to pin edge targets.

sessionBindingExpiry?

optional sessionBindingExpiry?: SessionBindingExpiryOptions
Defined in: packages/core/src/proxy/McpProxy.ts:337Expiry configuration for the default in-memory binding store.

sessionBindingListener?

optional sessionBindingListener?: SessionBindingListener
Defined in: packages/core/src/proxy/McpProxy.ts:339Removal listener for session-target bindings.

sessionBindingStore?

optional sessionBindingStore?: SessionBindingStore
Defined in: packages/core/src/proxy/McpProxy.ts:335Replaceable session-binding store; defaults to in-memory.

sessionSelectionStore?

optional sessionSelectionStore?: EdgeSessionSelectionStore
Defined in: packages/core/src/proxy/McpProxy.ts:347Durable store for agent-requested pre-pin selections.

telemetry?

optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/proxy/McpProxy.ts:345Structured, redacted edge lifecycle telemetry.

transport?

optional transport?: FentarisTransport
Defined in: packages/core/src/proxy/McpProxy.ts:341Virtual edge transport used after an edge target has been pinned.
@fentaris/core / EdgeSelectionPreference
EdgeSelectionPreference = "lowest-load" | "highest-capacity" | "user-default" | "name"
Defined in: packages/core/src/edge/inventoryService.ts:109Ranked preference understood by the reference selector.
@fentaris/core / EdgeSelectionStrategy
EdgeSelectionStrategy = "least-loaded" | "highest-capacity" | "name"
Defined in: packages/core/src/edge/inventoryService.ts:112Deterministic tie-breaking strategy.
@fentaris/core / EdgeTokenRefreshRequest
EdgeTokenRefreshRequest = object
Defined in: packages/core/src/edge/integratedProtocol.ts:65Refresh-token rotation request.

Properties

clientId

readonly clientId: string
Defined in: packages/core/src/edge/integratedProtocol.ts:66

refreshToken

readonly refreshToken: string
Defined in: packages/core/src/edge/integratedProtocol.ts:67
@fentaris/core / EnvResolver
EnvResolver = Record<string, EnvValue> | ((user) => Record<string, string>)
Defined in: packages/core/src/server/McpServer.ts:36Resolve environment variables per user.
@fentaris/core / EnvValue
EnvValue = string | CredentialReference
Defined in: packages/core/src/server/McpServer.ts:30Resolve environment variables per user.
@fentaris/core / ErrorMapper
ErrorMapper = object
Defined in: packages/core/src/types/policy.ts:140Error mapper for standardized MCP error responses.

Methods

mapError()

mapError(error, context): object
Defined in: packages/core/src/types/policy.ts:141

Parameters

error
unknown
context
serverName?
string
toolName?
string

Returns

object
code
code: number
message
message: string
@fentaris/core / ExecutionTarget
ExecutionTarget = CloudExecutionTarget | EdgeExecutionTarget
Defined in: packages/core/src/edge/target.ts:144A reusable execution target declaration.
@fentaris/core / FentarisCliMcpAccountConfig
FentarisCliMcpAccountConfig = object
Defined in: packages/core/src/proxy/McpProxy.ts:320CLI account selector configuration for one MCP server.

Properties

allowed

allowed: string[]
Defined in: packages/core/src/proxy/McpProxy.ts:324Selectors the CLI may use for this MCP.

default

default: string
Defined in: packages/core/src/proxy/McpProxy.ts:322Default selector used when --as is omitted for this MCP.
@fentaris/core / FentarisCliOptions
FentarisCliOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:311Agent-facing CLI configuration embedded in Fentaris app config.

Properties

mcpAccounts?

optional mcpAccounts?: Record<string, FentarisCliMcpAccountConfig>
Defined in: packages/core/src/proxy/McpProxy.ts:313Configured MCP account selectors available to CLI discovery/auth commands.
@fentaris/core / FentarisConfigPath
FentarisConfigPath = (string | number)[]
Defined in: packages/core/src/config/diagnostics.ts:11Semantic path into a TypeScript Fentaris config object.
@fentaris/core / FentarisConfigValidationOptions
FentarisConfigValidationOptions = object
Defined in: packages/core/src/config/validation.ts:21Options for explicit configuration validation.

Properties

requirePolicyServerVisibility?

optional requirePolicyServerVisibility?: boolean
Defined in: packages/core/src/config/validation.ts:29Require policies to reference servers already visible in the config being validated.Defaults to true. Fentaris uses false internally while composing an app so app.mcp(...) can register upstream MCP servers before startup validation runs.
@fentaris/core / FentarisConfigValidationResult
FentarisConfigValidationResult = object
Defined in: packages/core/src/config/diagnostics.ts:74Result returned from explicit config validation.

Properties

diagnostics

diagnostics: FentarisDiagnostic[]
Defined in: packages/core/src/config/diagnostics.ts:76

errors

errors: FentarisDiagnostic[]
Defined in: packages/core/src/config/diagnostics.ts:77

infos

infos: FentarisDiagnostic[]
Defined in: packages/core/src/config/diagnostics.ts:79

valid

valid: boolean
Defined in: packages/core/src/config/diagnostics.ts:75

warnings

warnings: FentarisDiagnostic[]
Defined in: packages/core/src/config/diagnostics.ts:78
@fentaris/core / FentarisDiagnostic
FentarisDiagnostic = object
Defined in: packages/core/src/config/diagnostics.ts:36Structured, renderer-independent configuration diagnostic.

Properties

code

code: string
Defined in: packages/core/src/config/diagnostics.ts:38

docsUrl?

optional docsUrl?: string
Defined in: packages/core/src/config/diagnostics.ts:43

hint?

optional hint?: string
Defined in: packages/core/src/config/diagnostics.ts:42

message

message: string
Defined in: packages/core/src/config/diagnostics.ts:40

path?

optional path?: FentarisConfigPath
Defined in: packages/core/src/config/diagnostics.ts:41
optional related?: FentarisDiagnosticRelatedEntry[]
Defined in: packages/core/src/config/diagnostics.ts:44

severity

severity: FentarisDiagnosticSeverity
Defined in: packages/core/src/config/diagnostics.ts:37

suggestions?

optional suggestions?: FentarisDiagnosticSuggestion[]
Defined in: packages/core/src/config/diagnostics.ts:45

title

title: string
Defined in: packages/core/src/config/diagnostics.ts:39
@fentaris/core / FentarisDiagnosticFormat
FentarisDiagnosticFormat = "pretty" | "plain" | "compact" | "json"
Defined in: packages/core/src/config/diagnostics.ts:52Diagnostic formatter mode.
@fentaris/core / FentarisDiagnosticFormatterOptions
FentarisDiagnosticFormatterOptions = object
Defined in: packages/core/src/config/diagnostics.ts:58Options for rendering diagnostics.

Properties

color?

optional color?: "auto" | "always" | "never" | boolean
Defined in: packages/core/src/config/diagnostics.ts:60

format?

optional format?: FentarisDiagnosticFormat
Defined in: packages/core/src/config/diagnostics.ts:59

includeInfo?

optional includeInfo?: boolean
Defined in: packages/core/src/config/diagnostics.ts:63

includeWarnings?

optional includeWarnings?: boolean
Defined in: packages/core/src/config/diagnostics.ts:62

terminal?

optional terminal?: object
Defined in: packages/core/src/config/diagnostics.ts:64

env?

optional env?: Record<string, string | undefined>

isTTY?

optional isTTY?: boolean

unicode?

optional unicode?: "auto" | "always" | "never" | boolean
Defined in: packages/core/src/config/diagnostics.ts:61
@fentaris/core / FentarisDiagnosticRelatedEntry
FentarisDiagnosticRelatedEntry = object
Defined in: packages/core/src/config/diagnostics.ts:17Additional config location related to a diagnostic.

Properties

message

message: string
Defined in: packages/core/src/config/diagnostics.ts:19

path?

optional path?: FentarisConfigPath
Defined in: packages/core/src/config/diagnostics.ts:18
@fentaris/core / FentarisDiagnosticSeverity
FentarisDiagnosticSeverity = "error" | "warning" | "info"
Defined in: packages/core/src/config/diagnostics.ts:5Severity assigned to a configuration diagnostic.
@fentaris/core / FentarisDiagnosticSuggestion
FentarisDiagnosticSuggestion = object
Defined in: packages/core/src/config/diagnostics.ts:26Suggested remediation for a configuration diagnostic.

Properties

message?

optional message?: string
Defined in: packages/core/src/config/diagnostics.ts:28

path?

optional path?: FentarisConfigPath
Defined in: packages/core/src/config/diagnostics.ts:29

title

title: string
Defined in: packages/core/src/config/diagnostics.ts:27
@fentaris/core / FentarisTransport
FentarisTransport = object
Defined in: packages/core/src/types/transport.ts:22Transport interface for MCP client interactions.

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>; isError?: z.ZodOptional<z.ZodBoolean>; structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }>
Defined in: packages/core/src/types/transport.ts:34

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
arguments?
z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>
name
z.ZodString
task?
z.ZodOptional<z.ZodObject<{ ttl: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>; isError?: z.ZodOptional<z.ZodBoolean>; structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }>

close()

close(): Promise<void>
Defined in: packages/core/src/types/transport.ts:42

Returns

Promise<void>

complete()?

optional complete(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; completion: z.ZodObject<{ hasMore: z.ZodOptional<z.ZodBoolean>; total: z.ZodOptional<z.ZodNumber>; values: z.ZodArray<z.ZodString>; }, z.core.$loose>; }>
Defined in: packages/core/src/types/transport.ts:40

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
argument
z.ZodObject<{ name: z.ZodString; value: z.ZodString; }, z.core.$strip>
context?
z.ZodOptional<z.ZodObject<{ arguments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; }, z.core.$strip>>
ref
z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; type: z.ZodLiteral<"ref/prompt">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"ref/resource">; uri: z.ZodString; }, z.core.$strip>]>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; completion: z.ZodObject<{ hasMore: z.ZodOptional<z.ZodBoolean>; total: z.ZodOptional<z.ZodNumber>; values: z.ZodArray<z.ZodString>; }, z.core.$loose>; }>

getPrompt()?

optional getPrompt(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; description?: z.ZodOptional<z.ZodString>; messages: z.ZodArray<z.ZodObject<{ content: z.ZodUnion<readonly [z.ZodObject<{ _meta: …; annotations: …; text: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; description: …; icons: …; mimeType: …; name: …; size: …; title: …; type: …; uri: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; resource: …; type: …; }, z.core.$strip>]>; role: z.ZodEnum<{ assistant: "assistant"; user: "user"; }>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:39

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
arguments?
z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>
name
z.ZodString

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; description?: z.ZodOptional<z.ZodString>; messages: z.ZodArray<z.ZodObject<{ content: z.ZodUnion<readonly [z.ZodObject<{ _meta: …; annotations: …; text: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; description: …; icons: …; mimeType: …; name: …; size: …; title: …; type: …; uri: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; resource: …; type: …; }, z.core.$strip>]>; role: z.ZodEnum<{ assistant: "assistant"; user: "user"; }>; }, z.core.$strip>>; }>

listPrompts()?

optional listPrompts(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; prompts: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodOptional<…>; name: z.ZodString; required: z.ZodOptional<…>; }, z.core.$strip>>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:38

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; prompts: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodOptional<…>; name: z.ZodString; required: z.ZodOptional<…>; }, z.core.$strip>>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>

listResources()?

optional listResources(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resources: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; size: z.ZodOptional<z.ZodNumber>; title: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:35

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resources: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; size: z.ZodOptional<z.ZodNumber>; title: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>>; }>

listResourceTemplates()?

optional listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resourceTemplates: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; uriTemplate: z.ZodString; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:37

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resourceTemplates: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; uriTemplate: z.ZodString; }, z.core.$strip>>; }>

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; tools: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; annotations: z.ZodOptional<z.ZodObject<{ destructiveHint: z.ZodOptional<z.ZodBoolean>; idempotentHint: z.ZodOptional<z.ZodBoolean>; openWorldHint: z.ZodOptional<z.ZodBoolean>; readOnlyHint: z.ZodOptional<z.ZodBoolean>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; execution: z.ZodOptional<z.ZodObject<{ taskSupport: z.ZodOptional<z.ZodEnum<…>>; }, z.core.$strip>>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; inputSchema: z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<…, …>>>; required: z.ZodOptional<z.ZodArray<z.ZodString>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>; name: z.ZodString; outputSchema: z.ZodOptional<z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<…, …>>; required: z.ZodOptional<z.ZodArray<…>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:33

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; tools: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; annotations: z.ZodOptional<z.ZodObject<{ destructiveHint: z.ZodOptional<z.ZodBoolean>; idempotentHint: z.ZodOptional<z.ZodBoolean>; openWorldHint: z.ZodOptional<z.ZodBoolean>; readOnlyHint: z.ZodOptional<z.ZodBoolean>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; execution: z.ZodOptional<z.ZodObject<{ taskSupport: z.ZodOptional<z.ZodEnum<…>>; }, z.core.$strip>>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; inputSchema: z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<…, …>>>; required: z.ZodOptional<z.ZodArray<z.ZodString>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>; name: z.ZodString; outputSchema: z.ZodOptional<z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<…, …>>; required: z.ZodOptional<z.ZodArray<…>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>

ping()?

optional ping(): Promise<{ _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; }>
Defined in: packages/core/src/types/transport.ts:41

Returns

Promise<{ _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; }>

readResource()?

optional readResource(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; contents: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; mimeType: z.ZodOptional<z.ZodString>; text: z.ZodString; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; blob: z.ZodString; mimeType: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>]>>; }>
Defined in: packages/core/src/types/transport.ts:36

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
uri
z.ZodString

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; contents: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; mimeType: z.ZodOptional<z.ZodString>; text: z.ZodString; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; blob: z.ZodString; mimeType: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>]>>; }>

withProxyContext()?

optional withProxyContext<T>(context, run): Promise<T>
Defined in: packages/core/src/types/transport.ts:32Run an MCP operation with the governed proxy context that authorized it.Context-aware transports (including edge dispatch) use this explicit contract to observe the authenticated subject, downstream session, policy decision, and selected capability without changing operation signatures. Transports that do not need proxy context may omit it.

Type Parameters

T
T

Parameters

context
ProxyContext
run
() => Promise<T>

Returns

Promise<T>
@fentaris/core / GetPromptParams
GetPromptParams = GetPromptRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:38Core middleware and transport types.
@fentaris/core / GetPromptResponse
GetPromptResponse = GetPromptResult
Defined in: packages/core/src/types/mcp-operation.ts:39Core middleware and transport types.
@fentaris/core / GovernanceContext
GovernanceContext = MiddlewareContext & object
Defined in: packages/core/src/types/policy.ts:151Extended middleware context with governance.

Type Declaration

identity?

optional identity?: IdentityMetadata

policy?

optional policy?: PolicyContract

policyDecision?

optional policyDecision?: PolicyDecision

rateLimiter?

optional rateLimiter?: RateLimiter

registry?

optional registry?: Registry
@fentaris/core / GroupMembership
GroupMembership = object
Defined in: packages/core/src/types/shared.ts:37Configured group membership metadata for a resolved subject.

Properties

id

id: string
Defined in: packages/core/src/types/shared.ts:38

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:40

name?

optional name?: string
Defined in: packages/core/src/types/shared.ts:39
@fentaris/core / GroupOptions
GroupOptions = object
Defined in: packages/core/src/governance/governance.ts:74Group declaration options.

Properties

credentials?

optional credentials?: CredentialSourceMap
Defined in: packages/core/src/governance/governance.ts:79

id

id: string
Defined in: packages/core/src/governance/governance.ts:75

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:81

name?

optional name?: string
Defined in: packages/core/src/governance/governance.ts:76

policy

policy: PolicyContract
Defined in: packages/core/src/governance/governance.ts:78

servers?

optional servers?: McpServer[]
Defined in: packages/core/src/governance/governance.ts:80

users

users: User[]
Defined in: packages/core/src/governance/governance.ts:77
@fentaris/core / HeaderCredentialAuth
HeaderCredentialAuth = object
Defined in: packages/core/src/server/McpServer.ts:49MCP server option types.

Properties

credential

credential: CredentialReference
Defined in: packages/core/src/server/McpServer.ts:52
header: string
Defined in: packages/core/src/server/McpServer.ts:51

type

type: "header"
Defined in: packages/core/src/server/McpServer.ts:50
@fentaris/core / HealthBuilderOptions
HealthBuilderOptions = object
Defined in: packages/core/src/health/health.ts:33

Properties

checks?

optional checks?: boolean
Defined in: packages/core/src/health/health.ts:34

include?

optional include?: HealthIncludeCategory[]
Defined in: packages/core/src/health/health.ts:35

timeoutMs?

optional timeoutMs?: number
Defined in: packages/core/src/health/health.ts:36
@fentaris/core / HealthCheckContext
HealthCheckContext = object
Defined in: packages/core/src/health/health.ts:86

Properties

auth

auth: object
Defined in: packages/core/src/health/health.ts:92

state()

state(): HealthCheckResult
Returns
HealthCheckResult

identity

identity: object
Defined in: packages/core/src/health/health.ts:93

state()

state(): HealthCheckResult
Returns
HealthCheckResult

policy

policy: object
Defined in: packages/core/src/health/health.ts:91

state()

state(): HealthCheckResult
Returns
HealthCheckResult

runtime

runtime: HealthRuntimeContext
Defined in: packages/core/src/health/health.ts:87

Methods

group()

group(id): HealthGroupContext
Defined in: packages/core/src/health/health.ts:89

Parameters

id
string

Returns

HealthGroupContext

mcp()

mcp(name): HealthServerContext
Defined in: packages/core/src/health/health.ts:88

Parameters

name
string

Returns

HealthServerContext

transport()

transport(nameOrType?): HealthTransportContext
Defined in: packages/core/src/health/health.ts:90

Parameters

nameOrType?
string

Returns

HealthTransportContext
@fentaris/core / HealthCheckHandler
HealthCheckHandler = (ctx) => HealthStatus | Partial<HealthCheckResult> | Promise<HealthStatus | Partial<HealthCheckResult>>
Defined in: packages/core/src/health/health.ts:28

Parameters

ctx

HealthCheckContext

Returns

HealthStatus | Partial<HealthCheckResult> | Promise<HealthStatus | Partial<HealthCheckResult>>
@fentaris/core / HealthCheckResult
HealthCheckResult = object
Defined in: packages/core/src/health/health.ts:10

Properties

checkedAt

checkedAt: Date
Defined in: packages/core/src/health/health.ts:15

durationMs

durationMs: number
Defined in: packages/core/src/health/health.ts:14

error?

optional error?: ReturnType<typeof runtimeErrorToEventPayload>
Defined in: packages/core/src/health/health.ts:17

message?

optional message?: string
Defined in: packages/core/src/health/health.ts:13

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/health/health.ts:16

name

name: string
Defined in: packages/core/src/health/health.ts:11

status

status: HealthStatus
Defined in: packages/core/src/health/health.ts:12
@fentaris/core / HealthConfig
HealthConfig = boolean | HealthBuilder | HealthBuilderOptions & object
Defined in: packages/core/src/health/health.ts:39
@fentaris/core / HealthGroupContext
HealthGroupContext = object
Defined in: packages/core/src/health/health.ts:77

Properties

id

readonly id: string
Defined in: packages/core/src/health/health.ts:78

Methods

servers()

servers(): object[]
Defined in: packages/core/src/health/health.ts:79

Returns

object[]
@fentaris/core / HealthIncludeCategory
HealthIncludeCategory = "runtime" | "mcp" | "transport" | "groups"
Defined in: packages/core/src/health/health.ts:8
@fentaris/core / HealthReport
HealthReport = object
Defined in: packages/core/src/health/health.ts:20

Properties

checkedAt

checkedAt: Date
Defined in: packages/core/src/health/health.ts:22

checks

checks: HealthCheckResult[]
Defined in: packages/core/src/health/health.ts:24

durationMs

durationMs: number
Defined in: packages/core/src/health/health.ts:23

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/health/health.ts:25

status

status: HealthStatus
Defined in: packages/core/src/health/health.ts:21
@fentaris/core / HealthRuntimeContext
HealthRuntimeContext = object
Defined in: packages/core/src/health/health.ts:66

Methods

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/health/health.ts:67

Returns

RuntimeLifecycleSnapshot
@fentaris/core / HealthServerContext
HealthServerContext = object
Defined in: packages/core/src/health/health.ts:70

Properties

name

readonly name: string
Defined in: packages/core/src/health/health.ts:71

Methods

health()

health(): Promise<HealthCheckResult>
Defined in: packages/core/src/health/health.ts:74

Returns

Promise<HealthCheckResult>

ping()

ping(): Promise<HealthCheckResult>
Defined in: packages/core/src/health/health.ts:73

Returns

Promise<HealthCheckResult>

state()

state(): HealthCheckResult
Defined in: packages/core/src/health/health.ts:72

Returns

HealthCheckResult
@fentaris/core / HealthStatus
HealthStatus = "ok" | "degraded" | "down" | "unknown"
Defined in: packages/core/src/health/health.ts:7
@fentaris/core / HealthTransportContext
HealthTransportContext = object
Defined in: packages/core/src/health/health.ts:82

Methods

state()

state(): HealthCheckResult
Defined in: packages/core/src/health/health.ts:83

Returns

HealthCheckResult
@fentaris/core / HttpProxyExposureHandle
HttpProxyExposureHandle = ProxyExposureHandle & object
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:37Active HTTP proxy exposure handle.

Type Declaration

server

server: HttpServer
@fentaris/core / HttpProxyExposureTransportOptions
HttpProxyExposureTransportOptions = object
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:22Options for HTTP downstream proxy exposure.

Properties

host?

optional host?: string
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:24

httpRoutes?

optional httpRoutes?: readonly ProxyExposureHttpRoute[]
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:28Additional owned HTTP routes co-located with the MCP endpoint.

onStarted?

optional onStarted?: () => void
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:26

Returns

void

path?

optional path?: string
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:25

port?

optional port?: number
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:23

upgradeRoutes?

optional upgradeRoutes?: readonly ProxyExposureUpgradeRoute[]
Defined in: packages/core/src/transports/exposure/HttpProxyExposureTransport.ts:30Additional WebSocket upgrade routes co-located with the MCP endpoint.
@fentaris/core / HttpTransportApiKeyAuth
HttpTransportApiKeyAuth = { header: string; required?: boolean; value: string; } | { header: string; required?: boolean; resolve: (context) => MaybePromise<string | null | undefined>; }
Defined in: packages/core/src/transports/auth/transportAuth.ts:16API key auth options for HTTP-family MCP transports.
@fentaris/core / HttpTransportAuthContext
HttpTransportAuthContext = object
Defined in: packages/core/src/transports/auth/transportAuth.ts:8User-aware HTTP-family auth resolver context.

Properties

user

user: UserContext
Defined in: packages/core/src/transports/auth/transportAuth.ts:9
@fentaris/core / HttpTransportAuthOptions
HttpTransportAuthOptions = object
Defined in: packages/core/src/transports/auth/transportAuth.ts:32Shared auth options for HTTP-family upstream MCP transports.

Properties

apiKey?

optional apiKey?: HttpTransportApiKeyAuth
Defined in: packages/core/src/transports/auth/transportAuth.ts:35

bearerToken?

optional bearerToken?: string | ((context) => MaybePromise<string | null | undefined>)
Defined in: packages/core/src/transports/auth/transportAuth.ts:34

headers?

optional headers?: Record<string, string>
Defined in: packages/core/src/transports/auth/transportAuth.ts:33

required?

optional required?: boolean
Defined in: packages/core/src/transports/auth/transportAuth.ts:37

resolveHeaders?

optional resolveHeaders?: (context) => MaybePromise<Record<string, string> | null | undefined>
Defined in: packages/core/src/transports/auth/transportAuth.ts:36

Parameters

context
HttpTransportAuthContext

Returns

MaybePromise<Record<string, string> | null | undefined>
@fentaris/core / HttpTransportEnvHeaderMap
HttpTransportEnvHeaderMap = Record<string, string> | ((env) => Record<string, string>)
Defined in: packages/core/src/transports/client/HttpTransport.ts:11HTTP transport option types.
@fentaris/core / HttpTransportOptions
HttpTransportOptions = object
Defined in: packages/core/src/transports/client/HttpTransport.ts:17Options for HTTP transport.

Properties

auth?

optional auth?: HttpTransportAuthOptions
Defined in: packages/core/src/transports/client/HttpTransport.ts:21

authToken?

optional authToken?: string
Defined in: packages/core/src/transports/client/HttpTransport.ts:20

baseUrl

baseUrl: string
Defined in: packages/core/src/transports/client/HttpTransport.ts:18

envHeaderMap?

optional envHeaderMap?: HttpTransportEnvHeaderMap
Defined in: packages/core/src/transports/client/HttpTransport.ts:22

fetch?

optional fetch?: typeof fetch
Defined in: packages/core/src/transports/client/HttpTransport.ts:24

headers?

optional headers?: Record<string, string>
Defined in: packages/core/src/transports/client/HttpTransport.ts:19

network?

optional network?: UpstreamHttpNetworkOptions
Defined in: packages/core/src/transports/client/HttpTransport.ts:23
@fentaris/core / IdentityMetadata
IdentityMetadata = object
Defined in: packages/core/src/types/shared.ts:112Identity metadata resolved at the proxy edge.

Properties

authenticated?

optional authenticated?: boolean
Defined in: packages/core/src/types/shared.ts:114

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:116

strategy?

optional strategy?: string
Defined in: packages/core/src/types/shared.ts:113

userId?

optional userId?: string
Defined in: packages/core/src/types/shared.ts:115
@fentaris/core / IdentityResolverOptions
IdentityResolverOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:376Identity resolver configuration for proxy-edge auth.

Properties

required?

optional required?: boolean
Defined in: packages/core/src/proxy/McpProxy.ts:378

strategy

strategy: IdentityStrategy
Defined in: packages/core/src/proxy/McpProxy.ts:377
@fentaris/core / IdentityStrategy
IdentityStrategy = object
Defined in: packages/core/src/types/policy.ts:118Identity resolution strategy.

Properties

name

name: string
Defined in: packages/core/src/types/policy.ts:119

Methods

resolve()

resolve(request): MaybePromise<UserContext | null>
Defined in: packages/core/src/types/policy.ts:120

Parameters

request
headers?
Record<string, string>

Returns

MaybePromise<UserContext | null>
@fentaris/core / InstallationDigest
InstallationDigest = `sha256:${string}`
Defined in: packages/core/src/edge/installation.ts:15
@fentaris/core / InstallationLifecycleState
InstallationLifecycleState = "assigned" | "checking" | "approval-required" | "installing" | "installed" | "configuring" | "starting" | "ready" | "degraded" | "failed" | "blocked" | "removing" | "removed"
Defined in: packages/core/src/edge/installation.ts:19
@fentaris/core / InstallationNetworkMode
InstallationNetworkMode = "none" | "source-only" | "restricted"
Defined in: packages/core/src/edge/installation.ts:18
@fentaris/core / InstallationOutputKind
InstallationOutputKind = "executable" | "file" | "directory"
Defined in: packages/core/src/edge/installation.ts:17
@fentaris/core / InstallationProvider
InstallationProvider = NodePackageInstallationProvider | PythonInstallationProvider | BinaryInstallationProvider | ContainerInstallationProvider | ManualInstallationProvider | CustomInstallationProvider
Defined in: packages/core/src/edge/installation.ts:113
@fentaris/core / InstallationProviderKind
InstallationProviderKind = "node-package" | "python" | "binary" | "container" | "manual" | "custom"
Defined in: packages/core/src/edge/installation.ts:16
@fentaris/core / InstallationReasonCode
InstallationReasonCode = "approval-required" | "approval-denied" | "approval-revoked" | "agent-upgrade-required" | "unsupported-platform" | "manual-prerequisite-required" | "source-integrity-failed" | "source-unavailable" | "source-credential-required" | "isolation-unavailable" | "elevation-denied" | "limit-exceeded" | "verification-failed" | "installation-failed" | "attempt-interrupted" | "stale-message" | "artifact-missing" | "artifact-escape" | "cleanup-approval-required"
Defined in: packages/core/src/edge/installation.ts:23
@fentaris/core / InstallationRecipeInput
InstallationRecipeInput = Omit<InstallationRecipe, "version" | "digest">
Defined in: packages/core/src/edge/installation.ts:187
@fentaris/core / InstallationSource
InstallationSource = GitInstallationSource | ArchiveInstallationSource | InlineInstallationSource | LocalInstallationSource | EnterpriseInstallationSource
Defined in: packages/core/src/edge/installation.ts:67
@fentaris/core / IntegratedAuthServicesOptions
IntegratedAuthServicesOptions = object
Defined in: packages/core/src/edge/integratedAuthServices.ts:45

Properties

config

readonly config: NormalizedEdgeControlPlaneConfig
Defined in: packages/core/src/edge/integratedAuthServices.ts:47

defaultTenantId?

readonly optional defaultTenantId?: string
Defined in: packages/core/src/edge/integratedAuthServices.ts:49

now?

readonly optional now?: () => number
Defined in: packages/core/src/edge/integratedAuthServices.ts:50

Returns

number

onEnrolled?

readonly optional onEnrolled?: (device, request) => void | Promise<void>
Defined in: packages/core/src/edge/integratedAuthServices.ts:53

Parameters

device
EdgeEnrolledDeviceAuthority
request
EdgeEnrollRequest

Returns

void | Promise<void>

onRevoked?

readonly optional onRevoked?: (device) => void | Promise<void>
Defined in: packages/core/src/edge/integratedAuthServices.ts:54

Parameters

device
EdgeEnrolledDeviceAuthority

Returns

void | Promise<void>

publicOrigin

readonly publicOrigin: string
Defined in: packages/core/src/edge/integratedAuthServices.ts:48

random?

readonly optional random?: () => string
Defined in: packages/core/src/edge/integratedAuthServices.ts:52

Returns

string

store

readonly store: EdgeLocalAuthorityStore
Defined in: packages/core/src/edge/integratedAuthServices.ts:46

telemetry?

readonly optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/edge/integratedAuthServices.ts:51
@fentaris/core / IntegratedEdgeBridgeOptions
IntegratedEdgeBridgeOptions = object
Defined in: packages/core/src/edge/integratedBridge.ts:22

Properties

capabilityCache

readonly capabilityCache: EdgeCapabilityCache
Defined in: packages/core/src/edge/integratedBridge.ts:30

desired

readonly desired: EdgeDesiredStateStore
Defined in: packages/core/src/edge/integratedBridge.ts:24

devices

readonly devices: EdgeDeviceRegistry
Defined in: packages/core/src/edge/integratedBridge.ts:23

installation?

readonly optional installation?: EdgeInstallationStatusStore
Defined in: packages/core/src/edge/integratedBridge.ts:31

manifests

readonly manifests: EdgeCapabilityManifestStore
Defined in: packages/core/src/edge/integratedBridge.ts:26

presence

readonly presence: EdgePresenceStore
Defined in: packages/core/src/edge/integratedBridge.ts:27

readiness

readonly readiness: EdgeReadinessStore
Defined in: packages/core/src/edge/integratedBridge.ts:28

reconciler

readonly reconciler: IntegratedEdgeReconciler
Defined in: packages/core/src/edge/integratedBridge.ts:29

setup

readonly setup: EdgeSetupStatusStore
Defined in: packages/core/src/edge/integratedBridge.ts:25

telemetry?

readonly optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/edge/integratedBridge.ts:32
@fentaris/core / IntegratedEdgeControlPlaneHealth
IntegratedEdgeControlPlaneHealth = object
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:72

Properties

authority

readonly authority: "ready" | "unavailable"
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:76

catalogDeployments

readonly catalogDeployments: number
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:78

desiredAssignments

readonly desiredAssignments: number
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:81

enrolledDevices

readonly enrolledDevices: number
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:79

gateway

readonly gateway: "ready" | "stopping"
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:77

mode

readonly mode: "local" | "managed"
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:74

multiInstance

readonly multiInstance: boolean
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:75

pendingApprovals

readonly pendingApprovals: number
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:80

status

readonly status: "ok" | "degraded" | "down"
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:73

warnings

readonly warnings: readonly string[]
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:82
@fentaris/core / IntegratedEdgeControlPlaneRuntime
IntegratedEdgeControlPlaneRuntime = object
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:85

Properties

auth

readonly auth: EdgeDeviceAuthorizationService & EdgeTokenIssuanceService & EdgeEnrollmentService
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:89

capabilityCache

readonly capabilityCache: EdgeCapabilityCache
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:93

config

readonly config: NormalizedEdgeControlPlaneConfig
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:86

deviceResolver

readonly deviceResolver: IntegratedEdgeDeviceResolver
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:92

gateway

readonly gateway: EdgeWebSocketGateway
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:90

httpRoutes

readonly httpRoutes: readonly ProxyExposureHttpRoute[]
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:96

operator?

readonly optional operator?: EdgeLocalOperatorServer
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:95

publicOrigin

readonly publicOrigin: string
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:87

reconciler

readonly reconciler: IntegratedEdgeReconciler
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:94

store?

readonly optional store?: EdgeLocalAuthorityStore
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:88

transport

readonly transport: EdgeTransport
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:91

upgradeRoutes

readonly upgradeRoutes: readonly ProxyExposureUpgradeRoute[]
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:97

Methods

close()

close(): Promise<void>
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:99

Returns

Promise<void>

health()

health(): Promise<IntegratedEdgeControlPlaneHealth>
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:98

Returns

Promise<IntegratedEdgeControlPlaneHealth>
@fentaris/core / IntegratedEdgeControlPlaneRuntimeOptions
IntegratedEdgeControlPlaneRuntimeOptions = object
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:60

Properties

authDir?

readonly optional authDir?: string
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:62

catalog?

readonly optional catalog?: EdgeDeploymentCatalog
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:67

controlPlane

readonly controlPlane: EdgeControlPlaneConfig
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:61

groupsForSubject?

readonly optional groupsForSubject?: (subjectId) => readonly string[]
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:68

Parameters

subjectId
string

Returns

readonly string[]

listenerHost?

readonly optional listenerHost?: string
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:65

listenerPort?

readonly optional listenerPort?: number
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:66

protectionKey?

readonly optional protectionKey?: string | Buffer
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:64

publicOrigin?

readonly optional publicOrigin?: string
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:63

telemetry?

readonly optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/transports/exposure/integratedRuntime.ts:69
@fentaris/core / IntegratedEdgeReconcilerOptions
IntegratedEdgeReconcilerOptions = object
Defined in: packages/core/src/edge/integratedReconciliation.ts:188

Properties

assignmentResolver?

readonly optional assignmentResolver?: EdgeAssignmentResolver
Defined in: packages/core/src/edge/integratedReconciliation.ts:195

assignmentStore

readonly assignmentStore: EdgeDesiredAssignmentStore
Defined in: packages/core/src/edge/integratedReconciliation.ts:192

catalog

readonly catalog: EdgeDeploymentCatalog
Defined in: packages/core/src/edge/integratedReconciliation.ts:189

desiredStateStore

readonly desiredStateStore: EdgeDesiredStateStore
Defined in: packages/core/src/edge/integratedReconciliation.ts:191

deviceRegistry

readonly deviceRegistry: EdgeDeviceRegistry
Defined in: packages/core/src/edge/integratedReconciliation.ts:190

groupsForSubject?

readonly optional groupsForSubject?: (subjectId) => readonly string[]
Defined in: packages/core/src/edge/integratedReconciliation.ts:194

Parameters

subjectId
string

Returns

readonly string[]

now?

readonly optional now?: () => number
Defined in: packages/core/src/edge/integratedReconciliation.ts:197

Returns

number

publish

readonly publish: (state) => Promise<"published" | "unchanged">
Defined in: packages/core/src/edge/integratedReconciliation.ts:193

Parameters

state
EdgeDesiredStateMessage

Returns

Promise<"published" | "unchanged">

telemetry?

readonly optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/edge/integratedReconciliation.ts:196
@fentaris/core / JsonConsoleLoggerDriverOptions
JsonConsoleLoggerDriverOptions = object
Defined in: packages/core/src/logging/logger.ts:96JSON console logger driver options.

Properties

writeLine?

optional writeLine?: (line) => void
Defined in: packages/core/src/logging/logger.ts:97

Parameters

line
string

Returns

void
@fentaris/core / JsonConsoleLoggerOptions
JsonConsoleLoggerOptions = Omit<LoggerOptions, "driver"> & JsonConsoleLoggerDriverOptions
Defined in: packages/core/src/logging/logger.ts:134JSON stdout logger factory options.
@fentaris/core / LegacyMiddleware
LegacyMiddleware = (request, context, next) => MaybePromise<CallToolResult | void>
Defined in: packages/core/src/types/middleware.ts:247Legacy middleware function signature.

Parameters

request

ToolCallRequest

context

MiddlewareContext

next

Next

Returns

MaybePromise<CallToolResult | void>
@fentaris/core / LifecycleHook
LifecycleHook = (event, context) => MaybePromise<void>
Defined in: packages/core/src/types/middleware.ts:55Hook invoked for proxy lifecycle events.

Parameters

event

LifecycleHookEvent

context

LifecycleHookContext

Returns

MaybePromise<void>
@fentaris/core / LifecycleHookContext
LifecycleHookContext = object
Defined in: packages/core/src/types/middleware.ts:41Lifecycle hook context.

Properties

error?

optional error?: Error
Defined in: packages/core/src/types/middleware.ts:47

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:44

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:48

request?

optional request?: ToolCallRequest
Defined in: packages/core/src/types/middleware.ts:46

sessionId?

optional sessionId?: string
Defined in: packages/core/src/types/middleware.ts:45

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:43

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:42
@fentaris/core / LifecycleHookEvent
LifecycleHookEvent = "sessionStart" | "sessionEnd" | "toolFailure"
Defined in: packages/core/src/types/middleware.ts:35Lifecycle event names emitted by the proxy.
@fentaris/core / ListPromptsParams
ListPromptsParams = ListPromptsRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:36Request/result aliases for MCP server prompt operations.
@fentaris/core / ListPromptsResponse
ListPromptsResponse = ListPromptsResult
Defined in: packages/core/src/types/mcp-operation.ts:37Core middleware and transport types.
@fentaris/core / ListResourcesParams
ListResourcesParams = ListResourcesRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:25Request/result aliases for MCP server resource operations.
@fentaris/core / ListResourcesResponse
ListResourcesResponse = ListResourcesResult
Defined in: packages/core/src/types/mcp-operation.ts:26Core middleware and transport types.
@fentaris/core / ListResourceTemplatesParams
ListResourceTemplatesParams = ListResourceTemplatesRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:29Core middleware and transport types.
@fentaris/core / ListResourceTemplatesResponse
ListResourceTemplatesResponse = ListResourceTemplatesResult
Defined in: packages/core/src/types/mcp-operation.ts:30Core middleware and transport types.
@fentaris/core / ListToolsContext
ListToolsContext = object
Defined in: packages/core/src/types/middleware.ts:79Context passed to list tool hooks.

Properties

credentialSources?

optional credentialSources?: CredentialSourceMetadata[]
Defined in: packages/core/src/types/middleware.ts:86

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:82

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:83

policy?

optional policy?: PolicyContract
Defined in: packages/core/src/types/middleware.ts:84

policyDecision?

optional policyDecision?: PolicyDecision
Defined in: packages/core/src/types/middleware.ts:85

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:81

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:80
@fentaris/core / ListToolsHook
ListToolsHook = (tools, context) => MaybePromise<ListToolsResult["tools"] | ListToolsResult | void>
Defined in: packages/core/src/types/middleware.ts:70Hook invoked after upstream tool discovery and before returning tools to the client.

Parameters

tools

ListToolsResult["tools"]

context

ListToolsContext

Returns

MaybePromise<ListToolsResult["tools"] | ListToolsResult | void>
@fentaris/core / LocalAuthOptions
LocalAuthOptions = object
Defined in: packages/core/src/auth/auth.ts:76

Properties

credentialsFile?

optional credentialsFile?: string
Defined in: packages/core/src/auth/auth.ts:79

dir

dir: string
Defined in: packages/core/src/auth/auth.ts:77

key

key: string | Buffer
Defined in: packages/core/src/auth/auth.ts:78

upstreamAuth?

optional upstreamAuth?: UpstreamAuthBindings
Defined in: packages/core/src/auth/auth.ts:81

upstreamAuthFile?

optional upstreamAuthFile?: string
Defined in: packages/core/src/auth/auth.ts:80
@fentaris/core / LocalCompletionHandler
LocalCompletionHandler = (ctx, params) => MaybePromise<CompleteResult>
Defined in: packages/core/src/local/declarations.ts:84Local completion handler.

Parameters

ctx

ProxyContext

params

CompleteRequest["params"]

Returns

MaybePromise<CompleteResult>
@fentaris/core / LocalCompletionReference
LocalCompletionReference = { name: string; type: "ref/prompt"; } | { type: "ref/resource"; uriTemplate: string; }
Defined in: packages/core/src/local/declarations.ts:93Reference used to bind a local completion handler.
@fentaris/core / LocalCredentials
LocalCredentials = z.infer<typeof localCredentialsSchema>
Defined in: packages/core/src/auth/auth.ts:72
@fentaris/core / LocalPromptHandler
LocalPromptHandler = (ctx, params) => MaybePromise<GetPromptResult>
Defined in: packages/core/src/local/declarations.ts:75Local prompt handler.

Parameters

ctx

ProxyContext

params

GetPromptRequest["params"]

Returns

MaybePromise<GetPromptResult>
@fentaris/core / LocalPromptMetadata
LocalPromptMetadata = Omit<Prompt, "name">
Defined in: packages/core/src/local/declarations.ts:51Metadata accepted when declaring a local prompt.
@fentaris/core / LocalResourceHandler
LocalResourceHandler = (ctx, params) => MaybePromise<ReadResourceResult>
Defined in: packages/core/src/local/declarations.ts:66Local resource read handler.

Parameters

ctx

ProxyContext

params

ReadResourceRequest["params"]

Returns

MaybePromise<ReadResourceResult>
@fentaris/core / LocalResourceMetadata
LocalResourceMetadata = Omit<Resource, "uri">
Defined in: packages/core/src/local/declarations.ts:39Metadata accepted when declaring a local exact resource.
@fentaris/core / LocalResourceTemplateMetadata
LocalResourceTemplateMetadata = Omit<ResourceTemplate, "uriTemplate">
Defined in: packages/core/src/local/declarations.ts:45Metadata accepted when declaring a local resource template.
@fentaris/core / LocalSecretsBackendOptions
LocalSecretsBackendOptions = object
Defined in: packages/core/src/secrets/local-backend.ts:8

Properties

credentialsFile?

optional credentialsFile?: string
Defined in: packages/core/src/secrets/local-backend.ts:11

dir

dir: string
Defined in: packages/core/src/secrets/local-backend.ts:9

key

key: string | Buffer
Defined in: packages/core/src/secrets/local-backend.ts:10
@fentaris/core / LocalToolHandler
LocalToolHandler = (ctx, params) => MaybePromise<CallToolResult>
Defined in: packages/core/src/local/declarations.ts:57Local tool handler.

Parameters

ctx

ProxyContext

params

CallToolRequest["params"]

Returns

MaybePromise<CallToolResult>
@fentaris/core / LocalToolMetadata
LocalToolMetadata = Omit<Tool, "name">
Defined in: packages/core/src/local/declarations.ts:33Metadata accepted when declaring a local tool.
@fentaris/core / LogEntry
LogEntry = object
Defined in: packages/core/src/logging/logger.ts:16Structured log entry payload.

Properties

context

context: Record<string, unknown>
Defined in: packages/core/src/logging/logger.ts:20

level

level: LogLevel
Defined in: packages/core/src/logging/logger.ts:17

message

message: string
Defined in: packages/core/src/logging/logger.ts:18

metadata

metadata: Record<string, unknown>
Defined in: packages/core/src/logging/logger.ts:21

timestamp

timestamp: Date
Defined in: packages/core/src/logging/logger.ts:19
@fentaris/core / LoggerDriver
LoggerDriver = object
Defined in: packages/core/src/logging/logger.ts:28Low-level logger driver interface.

Methods

write()

write(entry): void | Promise<void>
Defined in: packages/core/src/logging/logger.ts:29

Parameters

entry
LogEntry

Returns

void | Promise<void>
@fentaris/core / LoggerOptions
LoggerOptions = object
Defined in: packages/core/src/logging/logger.ts:36Logger configuration options.

Properties

context?

optional context?: Record<string, unknown>
Defined in: packages/core/src/logging/logger.ts:39

driver?

optional driver?: LoggerDriver
Defined in: packages/core/src/logging/logger.ts:38

level?

optional level?: LogLevel
Defined in: packages/core/src/logging/logger.ts:37

onWrite?

optional onWrite?: (entry) => void | Promise<void>
Defined in: packages/core/src/logging/logger.ts:40

Parameters

entry
LogEntry

Returns

void | Promise<void>

redact?

optional redact?: boolean | LoggerRedactionOptions
Defined in: packages/core/src/logging/logger.ts:41
@fentaris/core / LoggerRedactionOptions
LoggerRedactionOptions = object
Defined in: packages/core/src/logging/logger.ts:48Logger redaction configuration.

Properties

enabled?

optional enabled?: boolean
Defined in: packages/core/src/logging/logger.ts:49

keys?

optional keys?: (string | RegExp)[]
Defined in: packages/core/src/logging/logger.ts:51

paths?

optional paths?: string[]
Defined in: packages/core/src/logging/logger.ts:52

redact?

optional redact?: (value, path, key?) => unknown
Defined in: packages/core/src/logging/logger.ts:53

Parameters

value
unknown
path
string[]
key?
string

Returns

unknown

replacement?

optional replacement?: string
Defined in: packages/core/src/logging/logger.ts:50
@fentaris/core / LoggerSinkOptions
LoggerSinkOptions = object
Defined in: packages/core/src/profiler/events.ts:142

Properties

logger

logger: Logger
Defined in: packages/core/src/profiler/events.ts:143
@fentaris/core / LogLevel
LogLevel = "debug" | "info" | "warn" | "error" | "fatal"
Defined in: packages/core/src/logging/logger.ts:10Supported log levels.
@fentaris/core / ManualApprovalOptions
ManualApprovalOptions = object
Defined in: packages/core/src/governance/governance.ts:418Options for an external approval workflow.

Properties

metadata?

optional metadata?: Record<string, unknown> | ((request, context) => Record<string, unknown> | undefined)
Defined in: packages/core/src/governance/governance.ts:422

reason?

optional reason?: string | ((request, context) => string | undefined)
Defined in: packages/core/src/governance/governance.ts:421

requestId?

optional requestId?: string | ((request, context) => string)
Defined in: packages/core/src/governance/governance.ts:419

resolve?

optional resolve?: ApprovalHandler<ToolApprovalRequest>
Defined in: packages/core/src/governance/governance.ts:423

url?

optional url?: string | ((request, context) => string | undefined)
Defined in: packages/core/src/governance/governance.ts:420
@fentaris/core / MaybePromise
MaybePromise<T> = T | Promise<T>
Defined in: packages/core/src/types/shared.ts:8Maybe a promise for async compatibility.

Type Parameters

T

T
@fentaris/core / McpOperationName
McpOperationName = "tools:list" | "tool:call" | "resources:list" | "resource:read" | "resource-templates:list" | "prompts:list" | "prompt:get" | "completion:complete"
Defined in: packages/core/src/types/mcp-operation.ts:90Governed MCP operation names used by capability permissions.
@fentaris/core / McpProxyOptions
McpProxyOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:266Options for creating an MCP proxy server.

Properties

auth?

optional auth?: FentarisAuth
Defined in: packages/core/src/proxy/McpProxy.ts:279

autoLog?

optional autoLog?: boolean | AutoLogOptions
Defined in: packages/core/src/proxy/McpProxy.ts:281

cli?

optional cli?: FentarisCliOptions
Defined in: packages/core/src/proxy/McpProxy.ts:297Agent-facing CLI configuration.

defaults?

optional defaults?: object
Defined in: packages/core/src/proxy/McpProxy.ts:276

credentials?

optional credentials?: CredentialSourceMap

edge?

optional edge?: EdgeRuntimeOptions
Defined in: packages/core/src/proxy/McpProxy.ts:304Edge execution wiring: control-plane device resolver, replaceable session-binding store, expiry, and removal listener. When omitted, edge targets cannot be pinned and the runtime behaves as cloud-only.

errorMapper?

optional errorMapper?: ErrorMapper
Defined in: packages/core/src/proxy/McpProxy.ts:285

groups?

optional groups?: Group[]
Defined in: packages/core/src/proxy/McpProxy.ts:275

health?

optional health?: HealthConfig
Defined in: packages/core/src/proxy/McpProxy.ts:284

host?

optional host?: string
Defined in: packages/core/src/proxy/McpProxy.ts:269

identity?

optional identity?: IdentityStrategy | IdentityResolverOptions
Defined in: packages/core/src/proxy/McpProxy.ts:273

installations?

optional installations?: Record<string, InstallationRecipe>
Defined in: packages/core/src/proxy/McpProxy.ts:293Constructor-style managed installation recipes keyed by MCP server name.

lifecycle?

optional lifecycle?: RuntimeLifecycleOptions
Defined in: packages/core/src/proxy/McpProxy.ts:283

logger?

optional logger?: Logger
Defined in: packages/core/src/proxy/McpProxy.ts:271

name?

optional name?: string
Defined in: packages/core/src/proxy/McpProxy.ts:286

path?

optional path?: string
Defined in: packages/core/src/proxy/McpProxy.ts:270

placements?

optional placements?: PlacementBindingConfig[]
Defined in: packages/core/src/proxy/McpProxy.ts:295Constructor-style placement bindings.

policy?

optional policy?: PolicyContract
Defined in: packages/core/src/proxy/McpProxy.ts:274

port?

optional port?: number
Defined in: packages/core/src/proxy/McpProxy.ts:268

profiler?

optional profiler?: RuntimeProfilerConfig
Defined in: packages/core/src/proxy/McpProxy.ts:282

registry?

optional registry?: Registry
Defined in: packages/core/src/proxy/McpProxy.ts:280

servers?

optional servers?: McpServer[]
Defined in: packages/core/src/proxy/McpProxy.ts:267

setup?

optional setup?: Record<string, Record<string, SetupFieldDescriptor> | SetupSchema>
Defined in: packages/core/src/proxy/McpProxy.ts:291Constructor-style per-server setup schemas.

targets?

optional targets?: Record<string, ExecutionTarget>
Defined in: packages/core/src/proxy/McpProxy.ts:289Constructor-style execution-target declarations.

user?

optional user?: UserContext | ((request) => UserContext | Promise<UserContext>)
Defined in: packages/core/src/proxy/McpProxy.ts:272

version?

optional version?: string
Defined in: packages/core/src/proxy/McpProxy.ts:287
@fentaris/core / McpProxyStartOptions
McpProxyStartOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:385Optional start overrides for the MCP proxy.

Properties

host?

optional host?: string
Defined in: packages/core/src/proxy/McpProxy.ts:387

path?

optional path?: string
Defined in: packages/core/src/proxy/McpProxy.ts:388

port?

optional port?: number
Defined in: packages/core/src/proxy/McpProxy.ts:386

startupTimeoutMs?

optional startupTimeoutMs?: number
Defined in: packages/core/src/proxy/McpProxy.ts:389
@fentaris/core / McpProxyStopOptions
McpProxyStopOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:396Optional stop overrides for the MCP proxy.

Properties

shutdownTimeoutMs?

optional shutdownTimeoutMs?: number
Defined in: packages/core/src/proxy/McpProxy.ts:397
@fentaris/core / McpServerAuth
McpServerAuth = BearerCredentialAuth | HeaderCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:42Server credential application configuration.
@fentaris/core / McpServerOptions
McpServerOptions = object
Defined in: packages/core/src/server/McpServer.ts:64Configuration for an MCP server wrapper.

Properties

auth?

optional auth?: McpServerAuth
Defined in: packages/core/src/server/McpServer.ts:68

displayName?

optional displayName?: string
Defined in: packages/core/src/server/McpServer.ts:66

env?

optional env?: EnvResolver
Defined in: packages/core/src/server/McpServer.ts:69

isolation?

optional isolation?: Isolation
Defined in: packages/core/src/server/McpServer.ts:70

isolationTimeout?

optional isolationTimeout?: number
Defined in: packages/core/src/server/McpServer.ts:71

name

name: string
Defined in: packages/core/src/server/McpServer.ts:65

transport

transport: FentarisTransport
Defined in: packages/core/src/server/McpServer.ts:67
@fentaris/core / Middleware
Middleware = LegacyMiddleware | ProxyMiddleware
Defined in: packages/core/src/types/middleware.ts:266Middleware function signature.
@fentaris/core / MiddlewareContext
MiddlewareContext = object
Defined in: packages/core/src/types/middleware.ts:217Middleware execution context.

Properties

approval

approval: ApprovalDecisionController
Defined in: packages/core/src/types/middleware.ts:221

credentialSources?

optional credentialSources?: CredentialSourceMetadata[]
Defined in: packages/core/src/types/middleware.ts:228

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:220

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:222

policy?

optional policy?: PolicyContract | ProxyPolicyContext
Defined in: packages/core/src/types/middleware.ts:224

policyDecision?

optional policyDecision?: PolicyDecision
Defined in: packages/core/src/types/middleware.ts:225

rateLimiter?

optional rateLimiter?: RateLimiter
Defined in: packages/core/src/types/middleware.ts:227

registry?

optional registry?: Registry
Defined in: packages/core/src/types/middleware.ts:226

res

res: ResponseController
Defined in: packages/core/src/types/middleware.ts:223

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:219

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:218
@fentaris/core / Next
Next = () => Promise<CallToolResult>
Defined in: packages/core/src/types/middleware.ts:235Next middleware handler.

Returns

Promise<CallToolResult>
@fentaris/core / NormalizedEdgeControlPlaneConfig
NormalizedEdgeControlPlaneConfig = object
Defined in: packages/core/src/edge/integratedConfig.ts:161Normalized runtime configuration after merge and defaults. Present only when the integrated control plane is enabled.

Properties

accessTokenTtlSeconds

readonly accessTokenTtlSeconds: number
Defined in: packages/core/src/edge/integratedConfig.ts:167

adapters?

readonly optional adapters?: Partial<EdgeControlPlaneManagedAdapters>
Defined in: packages/core/src/edge/integratedConfig.ts:175

approval?

readonly optional approval?: EdgeDeviceApprovalAdapter
Defined in: packages/core/src/edge/integratedConfig.ts:176

assignmentResolver?

readonly optional assignmentResolver?: EdgeAssignmentResolver
Defined in: packages/core/src/edge/integratedConfig.ts:177

authorizationCodeTtlSeconds

readonly authorizationCodeTtlSeconds: number
Defined in: packages/core/src/edge/integratedConfig.ts:169

basePath

readonly basePath: string
Defined in: packages/core/src/edge/integratedConfig.ts:164

enabled

readonly enabled: true
Defined in: packages/core/src/edge/integratedConfig.ts:162

maxMetadataBytes

readonly maxMetadataBytes: number
Defined in: packages/core/src/edge/integratedConfig.ts:173

maxPollAttempts

readonly maxPollAttempts: number
Defined in: packages/core/src/edge/integratedConfig.ts:171

maxRequestBytes

readonly maxRequestBytes: number
Defined in: packages/core/src/edge/integratedConfig.ts:172

mode

readonly mode: EdgeControlPlaneMode
Defined in: packages/core/src/edge/integratedConfig.ts:163

pollIntervalSeconds

readonly pollIntervalSeconds: number
Defined in: packages/core/src/edge/integratedConfig.ts:170

publicOrigin?

readonly optional publicOrigin?: string
Defined in: packages/core/src/edge/integratedConfig.ts:165

rateLimitPerMinute

readonly rateLimitPerMinute: number
Defined in: packages/core/src/edge/integratedConfig.ts:174

refreshTokenTtlSeconds

readonly refreshTokenTtlSeconds: number
Defined in: packages/core/src/edge/integratedConfig.ts:168

stateDir

readonly stateDir: string
Defined in: packages/core/src/edge/integratedConfig.ts:166
@fentaris/core / NormalizedProfilerRedaction
NormalizedProfilerRedaction = object
Defined in: packages/core/src/profiler/redaction.ts:14

Properties

custom

custom: (value, path, key?) => unknown[]
Defined in: packages/core/src/profiler/redaction.ts:19

Parameters

value
unknown
path
string[]
key?
string

Returns

unknown

enabled

enabled: boolean
Defined in: packages/core/src/profiler/redaction.ts:15

keys

keys: (string | RegExp)[]
Defined in: packages/core/src/profiler/redaction.ts:17

paths

paths: string[][]
Defined in: packages/core/src/profiler/redaction.ts:18

replacement

replacement: unknown
Defined in: packages/core/src/profiler/redaction.ts:16
@fentaris/core / NormalizedRuntimeProfiler
NormalizedRuntimeProfiler = object
Defined in: packages/core/src/profiler/profiler.ts:52

Properties

failureMode

failureMode: ProfilerFailureMode
Defined in: packages/core/src/profiler/profiler.ts:59

filters

filters: ProfilerFilter[]
Defined in: packages/core/src/profiler/profiler.ts:55

handlers

handlers: RuntimeProfilerHandlerEntry[]
Defined in: packages/core/src/profiler/profiler.ts:57

level

level: RuntimeEventLevel
Defined in: packages/core/src/profiler/profiler.ts:53

onSinkError?

optional onSinkError?: (error, event) => void | Promise<void>
Defined in: packages/core/src/profiler/profiler.ts:60

Parameters

error
FentarisExtensionError
event
RuntimeEvent

Returns

void | Promise<void>

redaction

redaction: NormalizedProfilerRedaction
Defined in: packages/core/src/profiler/profiler.ts:58

sinks

sinks: ProfilerSink[]
Defined in: packages/core/src/profiler/profiler.ts:56

track

track: Set<ProfilerTrack>
Defined in: packages/core/src/profiler/profiler.ts:54
@fentaris/core / PlacementBindingConfig
PlacementBindingConfig = object
Defined in: packages/core/src/proxy/McpProxy.ts:245A placement binding declared through fluent or constructor-style config.

Properties

groupId?

optional groupId?: string
Defined in: packages/core/src/proxy/McpProxy.ts:251Group id for group-scoped bindings.

scope

scope: PlacementScope
Defined in: packages/core/src/proxy/McpProxy.ts:249Scope of the binding.

serverName

serverName: string
Defined in: packages/core/src/proxy/McpProxy.ts:247Server name the binding applies to.

targetName

targetName: string
Defined in: packages/core/src/proxy/McpProxy.ts:255Registered or built-in target name.

userId?

optional userId?: string
Defined in: packages/core/src/proxy/McpProxy.ts:253User id for user-scoped bindings.
@fentaris/core / PlacementScope
PlacementScope = "global" | "group" | "user"
Defined in: packages/core/src/edge/placement.ts:39Placement scope of a binding.
@fentaris/core / PlacementSource
PlacementSource = "explicit" | "user" | "group" | "global" | "implicit-cloud"
Defined in: packages/core/src/edge/placement.ts:42Where a resolved placement came from.
@fentaris/core / PolicyDecision
PolicyDecision = object
Defined in: packages/core/src/types/policy.ts:49Policy evaluation result.

Properties

allowed

allowed: boolean
Defined in: packages/core/src/types/policy.ts:50

metadata?

optional metadata?: PolicyMetadata & Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:52

reason?

optional reason?: string
Defined in: packages/core/src/types/policy.ts:51
@fentaris/core / PolicyMetadata
PolicyMetadata = object
Defined in: packages/core/src/types/shared.ts:70Effective policy metadata safe to expose in middleware and logs.

Properties

approval?

optional approval?: ApprovalMetadata
Defined in: packages/core/src/types/shared.ts:85

denialReason?

optional denialReason?: string
Defined in: packages/core/src/types/shared.ts:84

matchedGroups?

optional matchedGroups?: string[]
Defined in: packages/core/src/types/shared.ts:72

matchedPermissions?

optional matchedPermissions?: object[]
Defined in: packages/core/src/types/shared.ts:73

effect

effect: "allow" | "deny"

groupId?

optional groupId?: string

metadata?

optional metadata?: Record<string, unknown>

operation

operation: McpOperationName

policyName

policyName: string

serverName

serverName: string

target?

optional target?: string

targetKind?

optional targetKind?: CapabilityTargetKind

toolName?

optional toolName?: string

policyName?

optional policyName?: string
Defined in: packages/core/src/types/shared.ts:71
@fentaris/core / ProfilerFailureMode
ProfilerFailureMode = "isolate" | "strict"
Defined in: packages/core/src/profiler/profiler.ts:29
@fentaris/core / ProfilerFilter
ProfilerFilter = object
Defined in: packages/core/src/profiler/events.ts:117

Properties

category?

optional category?: ProfilerTrack | ProfilerTrack[]
Defined in: packages/core/src/profiler/events.ts:118

group?

optional group?: string | string[]
Defined in: packages/core/src/profiler/events.ts:121

level?

optional level?: RuntimeEventLevel
Defined in: packages/core/src/profiler/events.ts:119

minDurationMs?

optional minDurationMs?: number
Defined in: packages/core/src/profiler/events.ts:124

operation?

optional operation?: string | string[]
Defined in: packages/core/src/profiler/events.ts:123

server?

optional server?: string | string[]
Defined in: packages/core/src/profiler/events.ts:120

user?

optional user?: string | string[]
Defined in: packages/core/src/profiler/events.ts:122
@fentaris/core / ProfilerFunctionSink
ProfilerFunctionSink = (event) => void | Promise<void>
Defined in: packages/core/src/profiler/events.ts:136

Parameters

event

RuntimeEvent

Returns

void | Promise<void>
@fentaris/core / ProfilerHandlerOptions
ProfilerHandlerOptions = object
Defined in: packages/core/src/profiler/events.ts:127

Properties

where?

optional where?: ProfilerFilter
Defined in: packages/core/src/profiler/events.ts:128
@fentaris/core / ProfilerObjectConfig
ProfilerObjectConfig = object
Defined in: packages/core/src/profiler/profiler.ts:31

Properties

failureMode?

optional failureMode?: ProfilerFailureMode
Defined in: packages/core/src/profiler/profiler.ts:41

handlers?

optional handlers?: RuntimeProfilerHandlerEntry[]
Defined in: packages/core/src/profiler/profiler.ts:38

level?

optional level?: RuntimeEventLevel
Defined in: packages/core/src/profiler/profiler.ts:33

onSinkError?

optional onSinkError?: (error, event) => void | Promise<void>
Defined in: packages/core/src/profiler/profiler.ts:40

Parameters

error
FentarisExtensionError
event
RuntimeEvent

Returns

void | Promise<void>

preset?

optional preset?: "pretty" | "silent" | "json"
Defined in: packages/core/src/profiler/profiler.ts:32

redact?

optional redact?: boolean | ProfilerRedactionOptions
Defined in: packages/core/src/profiler/profiler.ts:39

sink?

optional sink?: ProfilerSinkLike
Defined in: packages/core/src/profiler/profiler.ts:37

sinks?

optional sinks?: ProfilerSinkLike[]
Defined in: packages/core/src/profiler/profiler.ts:36

track?

optional track?: ProfilerTrack[]
Defined in: packages/core/src/profiler/profiler.ts:34

where?

optional where?: ProfilerFilter
Defined in: packages/core/src/profiler/profiler.ts:35
@fentaris/core / ProfilerPrettySinkOptions
ProfilerPrettySinkOptions = object
Defined in: packages/core/src/profiler/events.ts:138

Properties

writer?

optional writer?: (line) => void
Defined in: packages/core/src/profiler/events.ts:139

Parameters

line
string

Returns

void
@fentaris/core / ProfilerRedactionOptions
ProfilerRedactionOptions = object
Defined in: packages/core/src/profiler/redaction.ts:6

Properties

enabled?

optional enabled?: boolean
Defined in: packages/core/src/profiler/redaction.ts:7

keys?

optional keys?: (string | RegExp)[]
Defined in: packages/core/src/profiler/redaction.ts:9

paths?

optional paths?: (string | string[])[]
Defined in: packages/core/src/profiler/redaction.ts:10

replacement?

optional replacement?: unknown
Defined in: packages/core/src/profiler/redaction.ts:8

rules?

optional rules?: ProfilerRedactionRule[]
Defined in: packages/core/src/profiler/redaction.ts:11
@fentaris/core / ProfilerRedactionRule
ProfilerRedactionRule = { key: string | RegExp; replacement?: unknown; } | { path: string | string[]; replacement?: unknown; } | ((value, path, key?) => unknown)
Defined in: packages/core/src/profiler/redaction.ts:1
@fentaris/core / ProfilerSink
ProfilerSink = object
Defined in: packages/core/src/profiler/events.ts:131

Properties

name?

optional name?: string
Defined in: packages/core/src/profiler/events.ts:132

Methods

write()

write(event): void | Promise<void>
Defined in: packages/core/src/profiler/events.ts:133

Parameters

event
RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeTransportEvent | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeEventDimensions & object & object | RuntimeExtensionEvent | RuntimeProfilerEvent | RuntimeEventDimensions & object & object & object | RuntimeEventDimensions & object & object & object

Returns

void | Promise<void>
@fentaris/core / ProfilerSinkLike
ProfilerSinkLike = ProfilerSink | ProfilerFunctionSink
Defined in: packages/core/src/profiler/events.ts:146
@fentaris/core / ProfilerTrack
ProfilerTrack = RuntimeEventCategory
Defined in: packages/core/src/profiler/events.ts:115
@fentaris/core / ProxyAuthContext
ProxyAuthContext = object
Defined in: packages/core/src/types/proxy.ts:92Normalized authentication metadata exposed through the unified context.

Properties

authenticated

authenticated: boolean
Defined in: packages/core/src/types/proxy.ts:94

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/proxy.ts:96

strategy?

optional strategy?: string
Defined in: packages/core/src/types/proxy.ts:93

userId?

optional userId?: string
Defined in: packages/core/src/types/proxy.ts:95
@fentaris/core / ProxyCompletionContext
ProxyCompletionContext = object
Defined in: packages/core/src/types/proxy.ts:156Selected completion metadata.

Properties

argumentName

argumentName: string
Defined in: packages/core/src/types/proxy.ts:160

proxyTarget?

optional proxyTarget?: string
Defined in: packages/core/src/types/proxy.ts:159

refType

refType: "ref/prompt" | "ref/resource"
Defined in: packages/core/src/types/proxy.ts:157

target

target: string
Defined in: packages/core/src/types/proxy.ts:158
@fentaris/core / ProxyContext
ProxyContext = MiddlewareContext & object
Defined in: packages/core/src/types/proxy.ts:167Unified context for new proxy middleware, routes, and events.

Type Declaration

args?

optional args?: CallToolRequest["params"]["arguments"]

auth

auth: ProxyAuthContext

completion?

optional completion?: ProxyCompletionContext

credentials

credentials: object

credentials.sources

sources: CredentialSourceMetadata[]

execution?

optional execution?: ProxyExecutionContext

operation

operation: ProxyOperation

policy

policy: ProxyPolicyContext

prompt?

optional prompt?: ProxyPromptContext

raw?

optional raw?: CallToolRequest["params"] | CompleteRequest["params"] | GetPromptRequest["params"] | ListPromptsRequest["params"] | ListResourcesRequest["params"] | ListResourceTemplatesRequest["params"] | ListToolsRequest["params"] | ReadResourceRequest["params"]

requestId?

optional requestId?: string

resource?

optional resource?: ProxyResourceContext

response

response: ResponseController

server?

optional server?: ProxyServerContext

state

state: Record<string, unknown>

tool?

optional tool?: ProxyToolContext

transport

transport: ProxyTransportContext

continue()

continue(): undefined

Returns

undefined

deny()

deny(message): object

Parameters

message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

error()

error(code, message): object

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

fail()

fail(code, message): object

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

inject()

inject(message): void

Parameters

message
string

Returns

void
@fentaris/core / ProxyEventFilter
ProxyEventFilter = object
Defined in: packages/core/src/types/proxy.ts:248Filter for unified proxy events.

Properties

group?

optional group?: string
Defined in: packages/core/src/types/proxy.ts:250

proxyTool?

optional proxyTool?: string
Defined in: packages/core/src/types/proxy.ts:252

server?

optional server?: string
Defined in: packages/core/src/types/proxy.ts:249

tool?

optional tool?: string
Defined in: packages/core/src/types/proxy.ts:251
@fentaris/core / ProxyEventHandler
ProxyEventHandler = (payload) => MaybePromise<ListToolsResult["tools"] | SdkListToolsResult | void>
Defined in: packages/core/src/types/proxy.ts:272Unified event handler.

Parameters

payload

ProxyEventPayload

Returns

MaybePromise<ListToolsResult["tools"] | SdkListToolsResult | void>
@fentaris/core / ProxyEventName
ProxyEventName = "session:start" | "session:end" | "tools:list:after" | "tool:start" | "tool:success" | "tool:error" | "tool:after" | "resource:start" | "resource:success" | "resource:error" | "resource:after" | "prompt:start" | "prompt:success" | "prompt:error" | "prompt:after" | "completion:start" | "completion:success" | "completion:error" | "completion:after"
Defined in: packages/core/src/types/proxy.ts:223Unified event names emitted by the proxy runtime.
@fentaris/core / ProxyExecutionContext
ProxyExecutionContext = { deploymentId: string; kind: "cloud"; targetName: string; } | { deploymentId: string; kind: "edge-cache"; targetName: string; tenantId: string; } | { connectionGeneration: number; deploymentId: string; edgeNodeId: string; kind: "edge"; reused: boolean; targetName: string; }
Defined in: packages/core/src/types/proxy.ts:67Selected execution target and pinned edge route for one operation.
@fentaris/core / ProxyExposureHandle
ProxyExposureHandle = object
Defined in: packages/core/src/types/proxy.ts:351Active downstream proxy exposure handle.

Methods

close()

close(): Promise<void>
Defined in: packages/core/src/types/proxy.ts:352

Returns

Promise<void>
@fentaris/core / ProxyExposureHttpRoute
ProxyExposureHttpRoute = object
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:26One owned HTTP route beneath the exposure listener.

Properties

handler

readonly handler: ProxyExposureHttpRouteHandler
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:29

method

readonly method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS"
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:27

path

readonly path: string
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:28
@fentaris/core / ProxyExposureHttpRouteHandler
ProxyExposureHttpRouteHandler = (req, res, url) => void | Promise<void>
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:11HTTP route handler registered on the shared exposure listener.

Parameters

req

IncomingMessage

res

ServerResponse

url

URL

Returns

void | Promise<void>
@fentaris/core / ProxyExposureRouteRegistry
ProxyExposureRouteRegistry = object
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:39Optional route/upgrade registration surface for exposure transports.

Properties

httpRoutes?

readonly optional httpRoutes?: readonly ProxyExposureHttpRoute[]
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:40

upgradeRoutes?

readonly optional upgradeRoutes?: readonly ProxyExposureUpgradeRoute[]
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:41
@fentaris/core / ProxyExposureTransport
ProxyExposureTransport<THandle> = object
Defined in: packages/core/src/types/proxy.ts:386Transport interface for exposing the Fentaris proxy to downstream MCP clients.

Type Parameters

THandle

THandle extends ProxyExposureHandle = ProxyExposureHandle

Methods

listen()

listen(runtime): Promise<THandle>
Defined in: packages/core/src/types/proxy.ts:387

Parameters

runtime
ProxyRuntime

Returns

Promise<THandle>
@fentaris/core / ProxyExposureUpgradeHandler
ProxyExposureUpgradeHandler = (req, socket, head, url) => void | Promise<void>
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:18WebSocket upgrade handler registered on the shared exposure listener.

Parameters

req

IncomingMessage

socket

Duplex

head

Buffer

url

URL

Returns

void | Promise<void>
@fentaris/core / ProxyExposureUpgradeRoute
ProxyExposureUpgradeRoute = object
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:33One owned WebSocket upgrade path beneath the exposure listener.

Properties

handler

readonly handler: ProxyExposureUpgradeHandler
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:35

path

readonly path: string
Defined in: packages/core/src/transports/exposure/routeRegistry.ts:34
@fentaris/core / ProxyGroupHandle
ProxyGroupHandle = object
Defined in: packages/core/src/types/proxy.ts:334Scoped group handle returned by proxy.group(id).

Properties

id

readonly id: string
Defined in: packages/core/src/types/proxy.ts:335

Methods

mcp()

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:336

Parameters

name
string

Returns

ProxyMcpHandle

on()

Call Signature

on(eventName, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:343
Parameters
eventName
ProxyEventName
handler
ProxyEventHandler
Returns
ProxyGroupHandle

Call Signature

on(eventName, filter, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:344
Parameters
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
ProxyGroupHandle

operation()

operation(operation, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:342

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

ProxyGroupHandle

policy()

policy(policyNameOrPolicy): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:339

Parameters

policyNameOrPolicy
string | PolicyContract

Returns

ProxyGroupHandle

server()

server(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:337

Parameters

name
string

Returns

ProxyMcpHandle

use()

Call Signature

use(handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:340
Parameters
handler
ProxyMiddleware
Returns
ProxyGroupHandle

Call Signature

use(handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:341
Parameters
handler
LegacyMiddleware
Returns
ProxyGroupHandle

users()

users(…users): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:338

Parameters

users
User[]

Returns

ProxyGroupHandle
@fentaris/core / ProxyHookEvent
ProxyHookEvent = "call"
Defined in: packages/core/src/types/middleware.ts:29Event names supported by the proxy hook system.
@fentaris/core / ProxyLocalHandle
ProxyLocalHandle = object
Defined in: packages/core/src/local/declarations.ts:101Handle returned by app.local(name) for declaring local MCP capabilities.

Properties

name

readonly name: string
Defined in: packages/core/src/local/declarations.ts:102

Methods

completion()

completion(ref, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:107

Parameters

ref
LocalCompletionReference
handler
LocalCompletionHandler

Returns

ProxyLocalHandle

prompt()

prompt(name, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:106

Parameters

name
string
metadata
LocalPromptMetadata
handler
LocalPromptHandler

Returns

ProxyLocalHandle

resource()

resource(uri, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:104

Parameters

uri
string
metadata
LocalResourceMetadata
handler
LocalResourceHandler

Returns

ProxyLocalHandle

resourceTemplate()

resourceTemplate(uriTemplate, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:105

Parameters

uriTemplate
string
metadata
LocalResourceTemplateMetadata
handler
LocalResourceHandler

Returns

ProxyLocalHandle

tool()

tool(name, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:103

Parameters

name
string
metadata
LocalToolMetadata
handler
LocalToolHandler

Returns

ProxyLocalHandle
@fentaris/core / ProxyMcpDeclarationConfig
ProxyMcpDeclarationConfig = McpServerOptions
Defined in: packages/core/src/types/proxy.ts:380Config object for declaring an upstream MCP server through proxy.mcp(config).
@fentaris/core / ProxyMcpDeclarationOptions
ProxyMcpDeclarationOptions = Omit<McpServerOptions, "name">
Defined in: packages/core/src/types/proxy.ts:374Options for declaring an upstream MCP server through proxy.mcp(name, options).
@fentaris/core / ProxyMcpHandle
ProxyMcpHandle = object
Defined in: packages/core/src/types/proxy.ts:280Scoped upstream MCP handle returned by proxy.mcp(name) or proxy.server(name).

Properties

name

readonly name: string
Defined in: packages/core/src/types/proxy.ts:281

Methods

health()

health(): Promise<HealthCheckResult>
Defined in: packages/core/src/types/proxy.ts:301

Returns

Promise<HealthCheckResult>

on()

Call Signature

on(eventName, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:286
Parameters
eventName
ProxyEventName
handler
ProxyEventHandler
Returns
ProxyMcpHandle

Call Signature

on(eventName, filter, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:287
Parameters
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
ProxyMcpHandle

operation()

operation(operation, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:285

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

ProxyMcpHandle

ping()

ping(): Promise<HealthCheckResult>
Defined in: packages/core/src/types/proxy.ts:300

Returns

Promise<HealthCheckResult>

setup()

setup(schema): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:293Declare the setup schema describing runtime references required to launch this MCP. Target bindings do not grant MCP access.

Parameters

schema
SetupSchema | Record<string, SetupFieldDescriptor>

Returns

ProxyMcpHandle

target()

target(targetName): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:299Bind this MCP to a named execution target for the current scope (global, group, or user). "cloud" is the implicit built-in target.

Parameters

targetName
string

Returns

ProxyMcpHandle

tool()

tool(pattern, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:284

Parameters

pattern
string
handler
ProxyMiddleware

Returns

ProxyMcpHandle

use()

Call Signature

use(handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:282
Parameters
handler
ProxyMiddleware
Returns
ProxyMcpHandle

Call Signature

use(handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:283
Parameters
handler
LegacyMiddleware
Returns
ProxyMcpHandle
@fentaris/core / ProxyMiddleware
ProxyMiddleware = (context, next) => MaybePromise<ProxyOperationResult | void>
Defined in: packages/core/src/types/middleware.ts:257Express-like middleware function signature.

Parameters

context

ProxyContext

next

ProxyNext

Returns

MaybePromise<ProxyOperationResult | void>
@fentaris/core / ProxyNext
ProxyNext = () => Promise<ProxyOperationResult>
Defined in: packages/core/src/types/middleware.ts:241Next handler for unified proxy middleware.

Returns

Promise<ProxyOperationResult>
@fentaris/core / ProxyOperation
ProxyOperation = "tool:call" | "tools:list" | "resources:list" | "resource:read" | "resource-templates:list" | "prompts:list" | "prompt:get" | "completion:complete" | "session:start" | "session:end"
Defined in: packages/core/src/types/mcp-operation.ts:74Operation names handled by the unified proxy context.
@fentaris/core / ProxyOperationHandler
ProxyOperationHandler = ProxyMiddleware
Defined in: packages/core/src/types/proxy.ts:211Express-like handler for a governed MCP operation route.
@fentaris/core / ProxyOperationResult
ProxyOperationResult = CallToolResult | CompleteResult | GetPromptResult | ListPromptsResult | ListResourcesResult | ListResourceTemplatesResult | ListToolsResult | ReadResourceResult
Defined in: packages/core/src/types/mcp-operation.ts:122Result shapes returned by governed proxy operation handlers.
@fentaris/core / ProxyPolicyContext
ProxyPolicyContext = object
Defined in: packages/core/src/types/proxy.ts:103Structured policy metadata exposed through the unified context.

Properties

allowed?

optional allowed?: boolean
Defined in: packages/core/src/types/proxy.ts:104

decision?

optional decision?: PolicyDecision
Defined in: packages/core/src/types/proxy.ts:110

matchedGroups

matchedGroups: string[]
Defined in: packages/core/src/types/proxy.ts:106

matchedPermissions

matchedPermissions: NonNullable<PolicyMetadata["matchedPermissions"]>
Defined in: packages/core/src/types/proxy.ts:107

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/proxy.ts:108

policy?

optional policy?: PolicyContract
Defined in: packages/core/src/types/proxy.ts:109

reason?

optional reason?: string
Defined in: packages/core/src/types/proxy.ts:105

Methods

can()

can(server, tool): MaybePromise<boolean>
Defined in: packages/core/src/types/proxy.ts:111

Parameters

server
string
tool
string

Returns

MaybePromise<boolean>
@fentaris/core / ProxyPromptContext
ProxyPromptContext = object
Defined in: packages/core/src/types/proxy.ts:147Selected prompt metadata.

Properties

name

name: string
Defined in: packages/core/src/types/proxy.ts:148

proxyName

proxyName: string
Defined in: packages/core/src/types/proxy.ts:149
@fentaris/core / ProxyResourceContext
ProxyResourceContext = object
Defined in: packages/core/src/types/proxy.ts:136Selected resource metadata.

Properties

proxyUri?

optional proxyUri?: string
Defined in: packages/core/src/types/proxy.ts:138

proxyUriTemplate?

optional proxyUriTemplate?: string
Defined in: packages/core/src/types/proxy.ts:140

uri?

optional uri?: string
Defined in: packages/core/src/types/proxy.ts:137

uriTemplate?

optional uriTemplate?: string
Defined in: packages/core/src/types/proxy.ts:139
@fentaris/core / ProxyRuntime
ProxyRuntime = object
Defined in: packages/core/src/types/proxy.ts:359Runtime operations shared by downstream proxy exposure transports.

Properties

identityRequired

identityRequired: boolean
Defined in: packages/core/src/types/proxy.ts:367

logger

logger: Logger
Defined in: packages/core/src/types/proxy.ts:366

Methods

createSdkServer()

createSdkServer(user?, identity?, subject?): unknown
Defined in: packages/core/src/types/proxy.ts:360

Parameters

user?
UserContext
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

unknown

emitRuntimeEvent()

emitRuntimeEvent(event): Promise<void>
Defined in: packages/core/src/types/proxy.ts:365

Parameters

event
RuntimeEvent

Returns

Promise<void>

emitSessionEnd()

emitSessionEnd(context): Promise<void>
Defined in: packages/core/src/types/proxy.ts:364

Parameters

context
LifecycleHookContext

Returns

Promise<void>

emitSessionStart()

emitSessionStart(context): Promise<void>
Defined in: packages/core/src/types/proxy.ts:363

Parameters

context
LifecycleHookContext

Returns

Promise<void>

resolveHttpUser()

resolveHttpUser(request): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/types/proxy.ts:361

Parameters

request
unknown

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolveStdioUser()

resolveStdioUser(): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/types/proxy.ts:362

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
@fentaris/core / ProxyServerContext
ProxyServerContext = object
Defined in: packages/core/src/types/proxy.ts:118Selected upstream server metadata.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/proxy.ts:120

name

name: string
Defined in: packages/core/src/types/proxy.ts:119
@fentaris/core / ProxyToolContext
ProxyToolContext = object
Defined in: packages/core/src/types/proxy.ts:127Selected tool metadata.

Properties

name

name: string
Defined in: packages/core/src/types/proxy.ts:128

proxyName

proxyName: string
Defined in: packages/core/src/types/proxy.ts:129
@fentaris/core / ProxyToolHandler
ProxyToolHandler = ProxyMiddleware
Defined in: packages/core/src/types/proxy.ts:205Express-like tool route handler signature.
@fentaris/core / ProxyToolPattern
ProxyToolPattern = string
Defined in: packages/core/src/types/proxy.ts:217Public tool pattern using server.tool dot notation and * wildcards.
@fentaris/core / ProxyTransportContext
ProxyTransportContext = object
Defined in: packages/core/src/types/proxy.ts:56Safe downstream transport metadata attached to a proxy operation.

Properties

deadline?

optional deadline?: number
Defined in: packages/core/src/types/proxy.ts:61Absolute epoch deadline propagated to upstream/edge execution.

requestId?

optional requestId?: string
Defined in: packages/core/src/types/proxy.ts:59

sessionId?

optional sessionId?: string
Defined in: packages/core/src/types/proxy.ts:58

signal?

optional signal?: AbortSignal
Defined in: packages/core/src/types/proxy.ts:63Downstream cancellation signal propagated to upstream/edge execution.

type?

optional type?: "http" | "stdio" | "sse" | "unknown"
Defined in: packages/core/src/types/proxy.ts:57
@fentaris/core / ProxyUserHandle
ProxyUserHandle = object
Defined in: packages/core/src/types/proxy.ts:309Scoped user handle returned by proxy.user(id). Records placement bindings without creating or authenticating a subject.

Properties

id

readonly id: string
Defined in: packages/core/src/types/proxy.ts:310

Methods

mcp()

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:312Register or retrieve a scoped upstream MCP handle for this user.

Parameters

name
string

Returns

ProxyMcpHandle

server()

server(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:314Alias for mcp(name).

Parameters

name
string

Returns

ProxyMcpHandle
@fentaris/core / ReadResourceParams
ReadResourceParams = ReadResourceRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:27Core middleware and transport types.
@fentaris/core / ReadResourceResponse
ReadResourceResponse = ReadResourceResult
Defined in: packages/core/src/types/mcp-operation.ts:28Core middleware and transport types.
@fentaris/core / RedisLoggerClient
RedisLoggerClient = object
Defined in: packages/core/src/logging/logger.ts:152Minimal Redis-compatible logger client contract.

Methods

rpush()

rpush(key, value): void | Promise<unknown>
Defined in: packages/core/src/logging/logger.ts:153

Parameters

key
string
value
string

Returns

void | Promise<unknown>
@fentaris/core / RedisLoggerDriverOptions
RedisLoggerDriverOptions = object
Defined in: packages/core/src/logging/logger.ts:160Redis logger driver options.

Properties

client

client: RedisLoggerClient
Defined in: packages/core/src/logging/logger.ts:161

key?

optional key?: string
Defined in: packages/core/src/logging/logger.ts:162
@fentaris/core / RedisRegistryClient
RedisRegistryClient = object
Defined in: packages/core/src/registry/registry.ts:8Minimal Redis-compatible client contract.

Methods

get()

get(key): string | Promise<string | null> | null
Defined in: packages/core/src/registry/registry.ts:9

Parameters

key
string

Returns

string | Promise<string | null> | null

set()

set(key, value): unknown
Defined in: packages/core/src/registry/registry.ts:10

Parameters

key
string
value
string

Returns

unknown
@fentaris/core / RedisRegistryOptions
RedisRegistryOptions = object
Defined in: packages/core/src/registry/registry.ts:17Options for Redis-backed registry storage.

Properties

client

client: RedisRegistryClient
Defined in: packages/core/src/registry/registry.ts:18

keyPrefix?

optional keyPrefix?: string
Defined in: packages/core/src/registry/registry.ts:19
@fentaris/core / ResolvedSubject
ResolvedSubject = object
Defined in: packages/core/src/types/shared.ts:92Authenticated subject resolved from user and group declarations.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/shared.ts:94

email?

optional email?: string
Defined in: packages/core/src/types/shared.ts:95

groups

groups: GroupMembership[]
Defined in: packages/core/src/types/shared.ts:98

id

id: string
Defined in: packages/core/src/types/shared.ts:93

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:96

tenant?

optional tenant?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:97

Methods

hasGroup()

hasGroup(groupId): boolean
Defined in: packages/core/src/types/shared.ts:99

Parameters

groupId
string

Returns

boolean
@fentaris/core / RuntimeEvent
RuntimeEvent<N> = N extends RuntimeEventName ? RuntimeEventMap[N] : never
Defined in: packages/core/src/profiler/events.ts:112

Type Parameters

N

N extends RuntimeEventName = RuntimeEventName
@fentaris/core / RuntimeEventBase
RuntimeEventBase<Name, Category, Level> = RuntimeEventDimensions & object
Defined in: packages/core/src/profiler/events.ts:25

Type Declaration

category

category: Category

level

level: Level

message?

optional message?: string

metadata?

optional metadata?: Record<string, unknown>

name

name: Name

timestamp

timestamp: Date

Type Parameters

Name

Name extends string

Category

Category extends RuntimeEventCategory

Level

Level extends RuntimeEventLevel
@fentaris/core / RuntimeEventCategory
RuntimeEventCategory = "lifecycle" | "health" | "mcp" | "policy" | "transport" | "extension" | "errors" | "timeouts" | "profiler"
Defined in: packages/core/src/profiler/events.ts:4
@fentaris/core / RuntimeEventDimensions
RuntimeEventDimensions = object
Defined in: packages/core/src/profiler/events.ts:17

Properties

durationMs?

optional durationMs?: number
Defined in: packages/core/src/profiler/events.ts:22

group?

optional group?: string
Defined in: packages/core/src/profiler/events.ts:19

operation?

optional operation?: string
Defined in: packages/core/src/profiler/events.ts:21

server?

optional server?: string
Defined in: packages/core/src/profiler/events.ts:18

user?

optional user?: string
Defined in: packages/core/src/profiler/events.ts:20
@fentaris/core / RuntimeEventHandler
RuntimeEventHandler<N> = (event) => void | Promise<void>
Defined in: packages/core/src/profiler/events.ts:113

Type Parameters

N

N extends RuntimeEventName = RuntimeEventName

Parameters

event

RuntimeEvent<N>

Returns

void | Promise<void>
@fentaris/core / RuntimeEventLevel
RuntimeEventLevel = "debug" | "info" | "warn" | "error" | "fatal"
Defined in: packages/core/src/profiler/events.ts:15
@fentaris/core / RuntimeEventMap
RuntimeEventMap = object
Defined in: packages/core/src/profiler/events.ts:89

Properties

extension.error

extension.error: RuntimeExtensionEvent
Defined in: packages/core/src/profiler/events.ts:107

health.check.error

health.check.error: Extract<RuntimeHealthEvent, { name: "health.check.error"; }>
Defined in: packages/core/src/profiler/events.ts:104

health.check.start

health.check.start: Extract<RuntimeHealthEvent, { name: "health.check.start"; }>
Defined in: packages/core/src/profiler/events.ts:102

health.check.success

health.check.success: Extract<RuntimeHealthEvent, { name: "health.check.success"; }>
Defined in: packages/core/src/profiler/events.ts:103

health.check.timeout

health.check.timeout: Extract<RuntimeHealthEvent, { name: "health.check.timeout"; }>
Defined in: packages/core/src/profiler/events.ts:105

health.status

health.status: Extract<RuntimeHealthEvent, { name: "health.status"; }>
Defined in: packages/core/src/profiler/events.ts:106

mcp.call.error

mcp.call.error: Extract<RuntimeMcpEvent, { name: "mcp.call.error"; }>
Defined in: packages/core/src/profiler/events.ts:97

mcp.call.start

mcp.call.start: Extract<RuntimeMcpEvent, { name: "mcp.call.start"; }>
Defined in: packages/core/src/profiler/events.ts:95

mcp.call.success

mcp.call.success: Extract<RuntimeMcpEvent, { name: "mcp.call.success"; }>
Defined in: packages/core/src/profiler/events.ts:96

mcp.call.timeout

mcp.call.timeout: Extract<RuntimeMcpEvent, { name: "mcp.call.timeout"; }>
Defined in: packages/core/src/profiler/events.ts:98

policy.allowed

policy.allowed: RuntimePolicyEvent & object
Defined in: packages/core/src/profiler/events.ts:99

Type Declaration

name
name: "policy.allowed"

policy.denied

policy.denied: RuntimePolicyEvent & object
Defined in: packages/core/src/profiler/events.ts:100

Type Declaration

name
name: "policy.denied"

profiler.sink.error

profiler.sink.error: RuntimeProfilerEvent
Defined in: packages/core/src/profiler/events.ts:108

runtime.degraded

runtime.degraded: Extract<RuntimeLifecycleEvent, { name: "runtime.degraded"; }>
Defined in: packages/core/src/profiler/events.ts:92

runtime.error

runtime.error: Extract<RuntimeLifecycleEvent, { name: "runtime.error"; }>
Defined in: packages/core/src/profiler/events.ts:94

runtime.ready

runtime.ready: Extract<RuntimeLifecycleEvent, { name: "runtime.ready"; }>
Defined in: packages/core/src/profiler/events.ts:91

runtime.start

runtime.start: Extract<RuntimeLifecycleEvent, { name: "runtime.start"; }>
Defined in: packages/core/src/profiler/events.ts:90

runtime.stop

runtime.stop: Extract<RuntimeLifecycleEvent, { name: "runtime.stop"; }>
Defined in: packages/core/src/profiler/events.ts:93

transport.error

transport.error: RuntimeTransportEvent
Defined in: packages/core/src/profiler/events.ts:101
@fentaris/core / RuntimeEventName
RuntimeEventName = keyof RuntimeEventMap
Defined in: packages/core/src/profiler/events.ts:111
@fentaris/core / RuntimeExtensionEvent
RuntimeExtensionEvent = RuntimeEventBase<"extension.error", "extension" | "errors", "error"> & object
Defined in: packages/core/src/profiler/events.ts:69

Type Declaration

boundary

boundary: "hook" | "middleware" | "route" | "sink" | "extension"

error

error: RuntimeProfilerErrorPayload
@fentaris/core / RuntimeHealthEvent
RuntimeHealthEvent = RuntimeEventBase<"health.check.start", "health", "debug" | "info"> & object | RuntimeEventBase<"health.check.success", "health", "debug" | "info" | "warn"> & object | RuntimeEventBase<"health.check.error", "health", "error"> & object | RuntimeEventBase<"health.check.timeout", "timeouts", "warn" | "error"> & object | RuntimeEventBase<"health.status", "health", "info" | "warn" | "error"> & object
Defined in: packages/core/src/profiler/events.ts:62
@fentaris/core / RuntimeLifecycle
RuntimeLifecycle = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:44

Methods

health()

health(): Promise<HealthReport>
Defined in: packages/core/src/lifecycle/lifecycle.ts:49

Returns

Promise<HealthReport>

ready()

ready(options?): Promise<RuntimeLifecycleSnapshot>
Defined in: packages/core/src/lifecycle/lifecycle.ts:46

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<RuntimeLifecycleSnapshot>

start()

start(options?): Promise<unknown>
Defined in: packages/core/src/lifecycle/lifecycle.ts:45

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<unknown>

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/lifecycle/lifecycle.ts:48

Returns

RuntimeLifecycleSnapshot

stop()

stop(options?): Promise<void>
Defined in: packages/core/src/lifecycle/lifecycle.ts:47

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<void>
@fentaris/core / RuntimeLifecycleEvent
RuntimeLifecycleEvent = RuntimeEventBase<"runtime.start", "lifecycle", "info"> & object | RuntimeEventBase<"runtime.ready", "lifecycle", "info"> & object | RuntimeEventBase<"runtime.degraded", "lifecycle", "warn"> & object | RuntimeEventBase<"runtime.stop", "lifecycle", "info"> & object | RuntimeEventBase<"runtime.error", "errors", "error" | "fatal"> & object
Defined in: packages/core/src/profiler/events.ts:35
@fentaris/core / RuntimeLifecycleMetadata
RuntimeLifecycleMetadata = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:13

Properties

failure?

optional failure?: object
Defined in: packages/core/src/lifecycle/lifecycle.ts:19

code?

optional code?: string

message

message: string

name

name: string

lastTransitionAt

lastTransitionAt: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:18

name

name: string
Defined in: packages/core/src/lifecycle/lifecycle.ts:14

startedAt?

optional startedAt?: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:16

stoppedAt?

optional stoppedAt?: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:17

version

version: string
Defined in: packages/core/src/lifecycle/lifecycle.ts:15
@fentaris/core / RuntimeLifecycleOptions
RuntimeLifecycleOptions = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:31

Properties

shutdownTimeoutMs?

optional shutdownTimeoutMs?: number
Defined in: packages/core/src/lifecycle/lifecycle.ts:33

startupTimeoutMs?

optional startupTimeoutMs?: number
Defined in: packages/core/src/lifecycle/lifecycle.ts:32
@fentaris/core / RuntimeLifecycleSnapshot
RuntimeLifecycleSnapshot = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:26

Properties

metadata

metadata: RuntimeLifecycleMetadata
Defined in: packages/core/src/lifecycle/lifecycle.ts:28

state

state: RuntimeLifecycleState
Defined in: packages/core/src/lifecycle/lifecycle.ts:27
@fentaris/core / RuntimeLifecycleState
RuntimeLifecycleState = "created" | "starting" | "ready" | "degraded" | "stopping" | "stopped" | "failed"
Defined in: packages/core/src/lifecycle/lifecycle.ts:4
@fentaris/core / RuntimeMcpEvent
RuntimeMcpEvent = RuntimeEventBase<"mcp.call.start", "mcp", "debug" | "info"> & object | RuntimeEventBase<"mcp.call.success", "mcp", "debug" | "info" | "warn"> & object | RuntimeEventBase<"mcp.call.error", "errors", "error"> & object | RuntimeEventBase<"mcp.call.timeout", "timeouts", "warn" | "error"> & object
Defined in: packages/core/src/profiler/events.ts:42
@fentaris/core / RuntimePolicyEvent
RuntimePolicyEvent = RuntimeEventBase<"policy.allowed" | "policy.denied", "policy", "info" | "warn"> & object
Defined in: packages/core/src/profiler/events.ts:48

Type Declaration

allowed

allowed: boolean

matchedGroups?

optional matchedGroups?: string[]

matchedPermissions?

optional matchedPermissions?: unknown[]

reason?

optional reason?: string
@fentaris/core / RuntimeProfilerConfig
RuntimeProfilerConfig = ProfilerBuilder | ProfilerObjectConfig | false | undefined
Defined in: packages/core/src/profiler/profiler.ts:44
@fentaris/core / RuntimeProfilerErrorPayload
RuntimeProfilerErrorPayload = object
Defined in: packages/core/src/profiler/events.ts:79

Properties

cause?

optional cause?: RuntimeProfilerErrorPayload | { message: string; name: string; }
Defined in: packages/core/src/profiler/events.ts:86

code

code: string
Defined in: packages/core/src/profiler/events.ts:81

context

context: Record<string, unknown>
Defined in: packages/core/src/profiler/events.ts:85

hints

hints: string[]
Defined in: packages/core/src/profiler/events.ts:84

message

message: string
Defined in: packages/core/src/profiler/events.ts:82

name

name: string
Defined in: packages/core/src/profiler/events.ts:80

severity

severity: RuntimeEventLevel
Defined in: packages/core/src/profiler/events.ts:83
@fentaris/core / RuntimeProfilerEvent
RuntimeProfilerEvent = RuntimeEventBase<"profiler.sink.error", "profiler" | "errors", "error"> & object
Defined in: packages/core/src/profiler/events.ts:74

Type Declaration

error

error: RuntimeProfilerErrorPayload

sink?

optional sink?: string
@fentaris/core / RuntimeProfilerHandlerEntry
RuntimeProfilerHandlerEntry<N> = object
Defined in: packages/core/src/profiler/profiler.ts:46

Type Parameters

N

N extends RuntimeEventName = RuntimeEventName

Properties

eventName?

optional eventName?: N
Defined in: packages/core/src/profiler/profiler.ts:47

handler

handler: RuntimeEventHandler<N>
Defined in: packages/core/src/profiler/profiler.ts:49

where?

optional where?: ProfilerFilter
Defined in: packages/core/src/profiler/profiler.ts:48
@fentaris/core / RuntimeTransportEvent
RuntimeTransportEvent = RuntimeEventBase<"transport.error", "transport" | "errors", "error"> & object
Defined in: packages/core/src/profiler/events.ts:55

Type Declaration

error

error: RuntimeProfilerErrorPayload

requestId?

optional requestId?: string

sessionId?

optional sessionId?: string

transport?

optional transport?: string
@fentaris/core / RuntimeValueTokenKind
RuntimeValueTokenKind = "input" | "secret"
Defined in: packages/core/src/edge/runtimeInput.ts:15Runtime reference kind.
@fentaris/core / SchemaInspection
SchemaInspection = object
Defined in: packages/core/src/tools/index.ts:87

Properties

input?

optional input?: object
Defined in: packages/core/src/tools/index.ts:91

available

available: boolean

schema?

optional schema?: unknown

mcp

mcp: string
Defined in: packages/core/src/tools/index.ts:89

name

name: string
Defined in: packages/core/src/tools/index.ts:88

output?

optional output?: object
Defined in: packages/core/src/tools/index.ts:92

available

available: boolean

schema?

optional schema?: unknown

upstreamName

upstreamName: string
Defined in: packages/core/src/tools/index.ts:90
@fentaris/core / SecretRef
SecretRef = object
Defined in: packages/core/src/secrets/types.ts:14Reference to a stored secret without exposing its value.

Properties

count

count: number
Defined in: packages/core/src/secrets/types.ts:19Number of API keys for apiKey kind; always 1 for credentials.

kind

kind: "credential" | "apiKey"
Defined in: packages/core/src/secrets/types.ts:17

ref

ref: string
Defined in: packages/core/src/secrets/types.ts:15

scope

scope: SecretScope
Defined in: packages/core/src/secrets/types.ts:16
@fentaris/core / SecretScope
SecretScope = { kind: "default"; } | { id: string; kind: "user"; } | { id: string; kind: "group"; }
Defined in: packages/core/src/secrets/types.ts:5Secret scope for credential storage.
@fentaris/core / SecretsManifest
SecretsManifest = object
Defined in: packages/core/src/secrets/types.ts:26Committable secrets manifest — schema only, no values.

Properties

envVars?

optional envVars?: string[]
Defined in: packages/core/src/secrets/types.ts:29

references

references: SecretsManifestEntry[]
Defined in: packages/core/src/secrets/types.ts:28

version

version: 1
Defined in: packages/core/src/secrets/types.ts:27
@fentaris/core / SecretsManifestDiff
SecretsManifestDiff = object
Defined in: packages/core/src/secrets/types.ts:45Result of comparing required vs stored secret references.

Properties

extra

extra: SecretRef[]
Defined in: packages/core/src/secrets/types.ts:47

missing

missing: SecretsManifestEntry[]
Defined in: packages/core/src/secrets/types.ts:46

stale

stale: SecretsManifestEntry[]
Defined in: packages/core/src/secrets/types.ts:48
@fentaris/core / SecretsManifestEntry
SecretsManifestEntry = object
Defined in: packages/core/src/secrets/types.ts:36Single manifest entry with string scope encoding.

Properties

ref

ref: string
Defined in: packages/core/src/secrets/types.ts:37

scope

scope: string
Defined in: packages/core/src/secrets/types.ts:38
@fentaris/core / SecretsProvider
SecretsProvider = "local" | "fentaris" | "hybrid"
Defined in: packages/core/src/secrets/types.ts:55Secrets storage backend — local now, cloud in Phase 2.
@fentaris/core / SerializableEdgeControlPlaneConfig
SerializableEdgeControlPlaneConfig = object
Defined in: packages/core/src/edge/integratedConfig.ts:59Serializable Edge control-plane fields that may appear in fentaris.json. Adapter implementations and approval callbacks remain TypeScript-only.

Properties

accessTokenTtlSeconds?

readonly optional accessTokenTtlSeconds?: number
Defined in: packages/core/src/edge/integratedConfig.ts:66

authorizationCodeTtlSeconds?

readonly optional authorizationCodeTtlSeconds?: number
Defined in: packages/core/src/edge/integratedConfig.ts:68

basePath?

readonly optional basePath?: string
Defined in: packages/core/src/edge/integratedConfig.ts:62

enabled?

readonly optional enabled?: boolean
Defined in: packages/core/src/edge/integratedConfig.ts:60

maxMetadataBytes?

readonly optional maxMetadataBytes?: number
Defined in: packages/core/src/edge/integratedConfig.ts:72

maxPollAttempts?

readonly optional maxPollAttempts?: number
Defined in: packages/core/src/edge/integratedConfig.ts:70

maxRequestBytes?

readonly optional maxRequestBytes?: number
Defined in: packages/core/src/edge/integratedConfig.ts:71

mode?

readonly optional mode?: EdgeControlPlaneMode
Defined in: packages/core/src/edge/integratedConfig.ts:61

pollIntervalSeconds?

readonly optional pollIntervalSeconds?: number
Defined in: packages/core/src/edge/integratedConfig.ts:69

publicOrigin?

readonly optional publicOrigin?: string
Defined in: packages/core/src/edge/integratedConfig.ts:63

rateLimitPerMinute?

readonly optional rateLimitPerMinute?: number
Defined in: packages/core/src/edge/integratedConfig.ts:73

refreshTokenTtlSeconds?

readonly optional refreshTokenTtlSeconds?: number
Defined in: packages/core/src/edge/integratedConfig.ts:67

stateDir?

readonly optional stateDir?: string
Defined in: packages/core/src/edge/integratedConfig.ts:65Directory under the project auth boundary for local durable state.
@fentaris/core / ServerCredentialBinding
ServerCredentialBinding = { credential: CredentialReference; type: "bearer"; } | { credential: CredentialReference; header: string; type: "header"; } | { credential: CredentialReference; env: string; type: "env"; }
Defined in: packages/core/src/server/McpServer.ts:55MCP server option types.
@fentaris/core / SessionBindingRemovalReason
SessionBindingRemovalReason = "session-end" | "expiry" | "shutdown" | "target-removed" | "replaced" | "takeover-rejected"
Defined in: packages/core/src/edge/sessionBinding.ts:60Why a session-target binding was removed.
@fentaris/core / SessionPinResult
SessionPinResult = { kind: "cloud"; placement: PlacementResolution; targetName: "cloud"; } | { binding: SessionTargetBinding; device: DeviceResolution; kind: "edge"; placement: PlacementResolution; reused: boolean; targetName: string; }
Defined in: packages/core/src/edge/sessionPinning.ts:58The result of pinning a session target.
@fentaris/core / SetupField
SetupField = FolderSetupField | FileSetupField | SecretSetupField | StringSetupField | BooleanSetupField | NumberSetupField | SelectSetupField
Defined in: packages/core/src/edge/setup.ts:100A typed setup field.
@fentaris/core / SetupFieldAccess
SetupFieldAccess = "read" | "read-write"
Defined in: packages/core/src/edge/setup.ts:15Filesystem access level for folder/file grants.
@fentaris/core / SetupFieldDescriptor
SetupFieldDescriptor = Omit<FolderSetupField, "name"> | Omit<FileSetupField, "name"> | Omit<SecretSetupField, "name"> | Omit<StringSetupField, "name"> | Omit<BooleanSetupField, "name"> | Omit<NumberSetupField, "name"> | Omit<SelectSetupField, "name">
Defined in: packages/core/src/edge/setup.ts:110A setup field descriptor before it is keyed into a schema.
@fentaris/core / SetupFieldKind
SetupFieldKind = "folder" | "file" | "secret" | "string" | "boolean" | "number" | "select"
Defined in: packages/core/src/edge/setup.ts:18Setup field kind.
@fentaris/core / SseMcpTransportOptions
SseMcpTransportOptions = object
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:31Options for native MCP SSE upstream transport.

Properties

auth?

optional auth?: HttpTransportAuthOptions
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:33

clientName?

optional clientName?: string
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:38

clientVersion?

optional clientVersion?: string
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:39

eventSourceInit?

optional eventSourceInit?: SSEClientTransportOptions["eventSourceInit"]
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:34

fetch?

optional fetch?: SSEClientTransportOptions["fetch"]
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:36

network?

optional network?: UpstreamHttpNetworkOptions
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:37

requestInit?

optional requestInit?: RequestInit
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:35

url

url: string | URL
Defined in: packages/core/src/transports/client/SseMcpTransport.ts:32
@fentaris/core / SseProxyExposureHandle
SseProxyExposureHandle = ProxyExposureHandle & object
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:30Active SSE proxy exposure handle.

Type Declaration

server

server: HttpServer
@fentaris/core / SseProxyExposureTransportOptions
SseProxyExposureTransportOptions = object
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:18Options for SSE downstream proxy exposure.

Properties

host?

optional host?: string
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:20

messagePath?

optional messagePath?: string
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:22

onStarted?

optional onStarted?: () => void
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:23

Returns

void

port?

optional port?: number
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:19

ssePath?

optional ssePath?: string
Defined in: packages/core/src/transports/exposure/SseProxyExposureTransport.ts:21
@fentaris/core / StdioProxyExposureTransportOptions
StdioProxyExposureTransportOptions = object
Defined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:17Options for stdio downstream proxy exposure.

Properties

user?

optional user?: UserContext | (() => UserContext | Promise<UserContext>)
Defined in: packages/core/src/transports/exposure/StdioProxyExposureTransport.ts:18
@fentaris/core / StdioTransportOptions
StdioTransportOptions = object
Defined in: packages/core/src/transports/client/StdioTransport.ts:37Options for the stdio transport.Argument and environment entries may be plain strings (existing behavior) or runtime-value tokens (runtime.input(...) / runtime.secret(...)) that are resolved before process launch on a cloud target, or serialized into a recipe for edge launch. A plain-string configuration remains unchanged.

Properties

args?

optional args?: (string | RuntimeValueToken)[]
Defined in: packages/core/src/transports/client/StdioTransport.ts:39

clientName?

optional clientName?: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:49

clientVersion?

optional clientVersion?: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:50

command

command: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:38

env?

optional env?: Record<string, string | RuntimeValueToken>
Defined in: packages/core/src/transports/client/StdioTransport.ts:40

runtimeValues?

optional runtimeValues?: Record<string, string>
Defined in: packages/core/src/transports/client/StdioTransport.ts:47Explicit cloud-side resolutions for runtime references. These values are used only for local cloud process launch and are never serialized into an edge launch recipe.

stderr?

optional stderr?: "inherit" | "pipe" | "overlapped" | "ignore"
Defined in: packages/core/src/transports/client/StdioTransport.ts:48
@fentaris/core / StreamableHttpMcpTransportOptions
StreamableHttpMcpTransportOptions = object
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:31Options for native MCP Streamable HTTP upstream transport.

Properties

auth?

optional auth?: HttpTransportAuthOptions
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:33

clientName?

optional clientName?: string
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:38

clientVersion?

optional clientVersion?: string
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:39

fetch?

optional fetch?: StreamableHTTPClientTransportOptions["fetch"]
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:35

network?

optional network?: UpstreamHttpNetworkOptions
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:37

requestInit?

optional requestInit?: RequestInit
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:34

sessionId?

optional sessionId?: string
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:36

url

url: string | URL
Defined in: packages/core/src/transports/client/StreamableHttpMcpTransport.ts:32
@fentaris/core / SubjectIndex
SubjectIndex = object
Defined in: packages/core/src/governance/governance.ts:468

Methods

groupsFor()

groupsFor(userId): Group[]
Defined in: packages/core/src/governance/governance.ts:470

Parameters

userId
string

Returns

Group[]

resolve()

resolve(userId): ResolvedSubject | null
Defined in: packages/core/src/governance/governance.ts:469

Parameters

userId
string

Returns

ResolvedSubject | null
@fentaris/core / SubjectMetadata
SubjectMetadata = object
Defined in: packages/core/src/types/shared.ts:25Non-sensitive subject metadata declared in application code.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/shared.ts:26

email?

optional email?: string
Defined in: packages/core/src/types/shared.ts:27

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:30

tenant?

optional tenant?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:29

tenantId?

optional tenantId?: string
Defined in: packages/core/src/types/shared.ts:28
@fentaris/core / TargetKind
TargetKind = "cloud" | "edge"
Defined in: packages/core/src/edge/target.ts:24Execution target kind.
@fentaris/core / TargetSelectionStrategy
TargetSelectionStrategy = "least-loaded" | "random" | "round-robin" | "sticky"
Defined in: packages/core/src/edge/target.ts:27Strategy for selecting one device from a shared pool.
@fentaris/core / ToolApprovalRequest
ToolApprovalRequest = ToolCallRequest & object
Defined in: packages/core/src/types/mcp-operation.ts:64Normalized tool-call request passed to approval callbacks.

Type Declaration

operation

operation: "tool:call"

target

target: string

targetKind

targetKind: "tool"
@fentaris/core / ToolCallHook
ToolCallHook = (request, context) => MaybePromise<void | CallToolResult>
Defined in: packages/core/src/types/middleware.ts:61Hook invoked for matched tool calls.

Parameters

request

ToolCallRequest

context

MiddlewareContext

Returns

MaybePromise<void | CallToolResult>
@fentaris/core / ToolCallHookFilter
ToolCallHookFilter = object
Defined in: packages/core/src/types/middleware.ts:19Filter for proxy call hooks.

Properties

proxyTool?

optional proxyTool?: string
Defined in: packages/core/src/types/middleware.ts:22

server?

optional server?: string
Defined in: packages/core/src/types/middleware.ts:20

tool?

optional tool?: string
Defined in: packages/core/src/types/middleware.ts:21
@fentaris/core / ToolCallRequest
ToolCallRequest = object
Defined in: packages/core/src/types/mcp-operation.ts:52Normalized tool call details for middleware.

Properties

arguments

arguments: CallToolRequest["params"]["arguments"]
Defined in: packages/core/src/types/mcp-operation.ts:56

proxyToolName

proxyToolName: string
Defined in: packages/core/src/types/mcp-operation.ts:55

raw

raw: CallToolRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:57

serverName

serverName: string
Defined in: packages/core/src/types/mcp-operation.ts:53

toolName

toolName: string
Defined in: packages/core/src/types/mcp-operation.ts:54
@fentaris/core / ToolDiscoveryOptions
ToolDiscoveryOptions = object
Defined in: packages/core/src/tools/index.ts:53

Properties

compact?

optional compact?: boolean
Defined in: packages/core/src/tools/index.ts:56

cursor?

optional cursor?: string
Defined in: packages/core/src/tools/index.ts:58

exclude?

optional exclude?: string[]
Defined in: packages/core/src/tools/index.ts:61

include?

optional include?: string[]
Defined in: packages/core/src/tools/index.ts:60

limit?

optional limit?: number
Defined in: packages/core/src/tools/index.ts:57

maxTokens?

optional maxTokens?: number
Defined in: packages/core/src/tools/index.ts:59

mcp?

optional mcp?: string
Defined in: packages/core/src/tools/index.ts:54

noStart?

optional noStart?: boolean
Defined in: packages/core/src/tools/index.ts:63

refresh?

optional refresh?: boolean
Defined in: packages/core/src/tools/index.ts:62

selector?

optional selector?: string
Defined in: packages/core/src/tools/index.ts:55
@fentaris/core / ToolPermission
ToolPermission = object
Defined in: packages/core/src/types/policy.ts:22Tool permission model for policy enforcement.

Properties

approval?

optional approval?: ApprovalHandler<ToolApprovalRequest>
Defined in: packages/core/src/types/policy.ts:26

effect?

optional effect?: "allow" | "deny"
Defined in: packages/core/src/types/policy.ts:24

limiter?

optional limiter?: RateLimiter
Defined in: packages/core/src/types/policy.ts:25

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:27

tool

tool: string
Defined in: packages/core/src/types/policy.ts:23
@fentaris/core / ToolPermissionOptions
ToolPermissionOptions = object
Defined in: packages/core/src/governance/governance.ts:319Permission helper options.

Properties

approval?

optional approval?: ToolPermission["approval"]
Defined in: packages/core/src/governance/governance.ts:321

limiter?

optional limiter?: ToolPermission["limiter"]
Defined in: packages/core/src/governance/governance.ts:320

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:322

sensitive?

optional sensitive?: boolean | Record<string, unknown>
Defined in: packages/core/src/governance/governance.ts:323
@fentaris/core / UpstreamAuthBinding
UpstreamAuthBinding = z.infer<typeof upstreamAuthBindingSchema>
Defined in: packages/core/src/auth/auth.ts:73
@fentaris/core / UpstreamAuthBindings
UpstreamAuthBindings = z.infer<typeof upstreamAuthBindingsSchema>
Defined in: packages/core/src/auth/auth.ts:74
@fentaris/core / UpstreamHttpNetworkOptions
UpstreamHttpNetworkOptions = object
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:9Private-network guardrails for upstream HTTP-family transports.

Properties

allowedPrivateHosts?

optional allowedPrivateHosts?: string[]
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:11

allowPrivateNetworkUrls?

optional allowPrivateNetworkUrls?: boolean
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:10

lookup?

optional lookup?: (hostname) => MaybePromise<object[] | { address: string; }>
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:13

Parameters

hostname
string

Returns

MaybePromise<object[] | { address: string; }>

resolveDns?

optional resolveDns?: boolean
Defined in: packages/core/src/transports/client/upstreamUrlGuardrails.ts:12
@fentaris/core / UserContext
UserContext = object
Defined in: packages/core/src/types/shared.ts:14User context passed through requests.

Indexable

[key: string]: unknown

Properties

id?

optional id?: string
Defined in: packages/core/src/types/shared.ts:15

secrets?

optional secrets?: Record<string, string>
Defined in: packages/core/src/types/shared.ts:16

tokens?

optional tokens?: Record<string, string>
Defined in: packages/core/src/types/shared.ts:17
@fentaris/core / UserOptions
UserOptions = SubjectMetadata & object
Defined in: packages/core/src/governance/governance.ts:88User declaration options.

Type Declaration

apiKeys?

optional apiKeys?: CredentialSource[]

credentials?

optional credentials?: CredentialSourceMap
@fentaris/core / approval
const approval: ApprovalHelper
Defined in: packages/core/src/governance/governance.ts:430Permission helper for approval callbacks.
@fentaris/core / cloud
const cloud: CloudExecutionTarget
Defined in: packages/core/src/edge/target.ts:155The implicit built-in cloud target.
@fentaris/core / DEFAULT_EDGE_ORCHESTRATION_LIMITS
const DEFAULT_EDGE_ORCHESTRATION_LIMITS: EdgeOrchestrationLimits
Defined in: packages/core/src/edge/fanout.ts:20Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.
@fentaris/core / edge
const edge: (options) => EdgeExecutionTarget & object
Defined in: packages/core/src/edge/target.ts:163Build an edge execution target. Also serves as the namespace for device selector builders (edge.sessionDevice, edge.userDefaultDevice, edge.namedDevice, edge.pool) and setup field builders.

Type Declaration

boolean

boolean: (options?) => Omit<BooleanSetupField, "name"> = setupBoolean
Build a boolean field.

Parameters

options?
ScalarFieldOptions & object

Returns

Omit<BooleanSetupField, "name">

file

file: (options?) => Omit<FileSetupField, "name"> = setupFile
Build a file grant field.

Parameters

options?
FileSystemFieldOptions

Returns

Omit<FileSetupField, "name">

folder

folder: (options?) => Omit<FolderSetupField, "name"> = setupFolder
Build a folder grant field.

Parameters

options?
FileSystemFieldOptions

Returns

Omit<FolderSetupField, "name">

install

install: Readonly<{ binary: (provider, options) => InstallationRecipe; container: (provider, options) => InstallationRecipe; custom: (provider, options) => InstallationRecipe; manual: (provider, options) => InstallationRecipe; nodePackage: (provider, options) => InstallationRecipe; python: (provider, options) => InstallationRecipe; }> = edgeInstall

namedDevice

namedDevice: (alias) => DeviceSelectorBuilder

Parameters

alias
string

Returns

DeviceSelectorBuilder

number

number: (options?) => Omit<NumberSetupField, "name"> = setupNumber
Build a number field.

Parameters

options?
NumberFieldOptions

Returns

Omit<NumberSetupField, "name">

pool

pool: (name, strategy?) => DeviceSelectorBuilder

Parameters

name
string
strategy?
TargetSelectionStrategy

Returns

DeviceSelectorBuilder

secret

secret: (options?) => Omit<SecretSetupField, "name"> = setupSecret
Build a secret field. Secrets are always required and never cloud-visible.

Parameters

options?
Omit<ScalarFieldOptions, "cloudVisible">

Returns

Omit<SecretSetupField, "name">

select

select: (options) => Omit<SelectSetupField, "name"> = setupSelect
Build a select field with a closed value set.

Parameters

options
SelectFieldOptions

Returns

Omit<SelectSetupField, "name">

sessionDevice

sessionDevice: () => DeviceSelectorBuilder

Returns

DeviceSelectorBuilder

string

string: (options?) => Omit<StringSetupField, "name"> = setupString
Build a free-form string field.

Parameters

options?
ScalarFieldOptions & object

Returns

Omit<StringSetupField, "name">

userDefaultDevice

userDefaultDevice: () => DeviceSelectorBuilder

Returns

DeviceSelectorBuilder
@fentaris/core / EDGE_CONTROL_NAMESPACE
const EDGE_CONTROL_NAMESPACE: "edge"
Defined in: packages/core/src/edge/controlProvider.ts:18Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.
@fentaris/core / EDGE_CONTROL_PLANE_DEFAULT_BASE_PATH
const EDGE_CONTROL_PLANE_DEFAULT_BASE_PATH: "/_fentaris/edge"
Defined in: packages/core/src/edge/integratedConfig.ts:35Default reserved HTTP base path for integrated Edge routes.
@fentaris/core / EDGE_CONTROL_PLANE_DEFAULT_STATE_DIR
const EDGE_CONTROL_PLANE_DEFAULT_STATE_DIR: "edge-control-plane"
Defined in: packages/core/src/edge/integratedConfig.ts:38Default local state directory relative to the project auth directory.
@fentaris/core / EDGE_CONTROL_PLANE_DEFAULTS
const EDGE_CONTROL_PLANE_DEFAULTS: Readonly<{ accessTokenTtlSeconds: number; authorizationCodeTtlSeconds: number; basePath: "/_fentaris/edge"; maxMetadataBytes: 4096; maxPollAttempts: 120; maxRequestBytes: 16384; pollIntervalSeconds: 5; rateLimitPerMinute: 60; refreshTokenTtlSeconds: number; stateDir: "edge-control-plane"; }>
Defined in: packages/core/src/edge/integratedConfig.ts:41Documented secure defaults applied when local mode omits optional limits.
@fentaris/core / EDGE_CONTROL_PLANE_ERROR_CODES
const EDGE_CONTROL_PLANE_ERROR_CODES: Readonly<{ access_denied: "access_denied"; authorization_pending: "authorization_pending"; expired_token: "expired_token"; invalid_grant: "invalid_grant"; invalid_request: "invalid_request"; payload_too_large: "payload_too_large"; rate_limited: "rate_limited"; revoked: "revoked"; server_error: "server_error"; slow_down: "slow_down"; unauthorized: "unauthorized"; }>
Defined in: packages/core/src/edge/integratedProtocol.ts:9Stable control-plane error codes returned to Edge clients.
@fentaris/core / EDGE_CONTROL_TOOL_NAMES
const EDGE_CONTROL_TOOL_NAMES: readonly ["list", "get", "select", "call", "call_many"]
Defined in: packages/core/src/edge/controlProvider.ts:19Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.
@fentaris/core / EDGE_CONTROL_TOOL_SCHEMAS
const EDGE_CONTROL_TOOL_SCHEMAS: Readonly<{ call: { additionalProperties: boolean; properties: { arguments: { type: string; }; deadlineMs: { maximum: number; minimum: number; type: string; }; device: {[key: string]: unknown; properties?: {[key: string]: object; }; required?: string[]; type: "object"; }; tool: { maxLength: number; minLength: number; type: string; }; }; required: string[]; type: "object"; }; call_many: { additionalProperties: boolean; oneOf: object[]; properties: { arguments: { type: string; }; concurrency: { maximum: number; minimum: number; type: string; }; deadlineMs: { maximum: number; minimum: number; type: string; }; devices: { items: {[key: string]: unknown; properties?: {[key: string]: object; }; required?: string[]; type: "object"; }; maxItems: number; minItems: number; type: string; uniqueItems: boolean; }; failurePolicy: { enum: string[]; type: string; }; selector: {[key: string]: unknown; properties?: {[key: string]: object; }; required?: string[]; type: "object"; }; tool: { maxLength: number; minLength: number; type: string; }; }; required: string[]; type: "object"; }; get: { additionalProperties: boolean; properties: { include: { items: { enum: string[]; type: string; }; maxItems: number; type: string; uniqueItems: boolean; }; name: { maxLength: number; minLength: number; type: string; }; }; required: string[]; type: "object"; }; list: { additionalProperties: boolean; properties: { cursor: { maxLength: number; type: string; }; deploymentId: { maxLength: number; type: string; }; features: { items: { maxLength: 80; minLength: 1; type: "string"; }; maxItems: 32; type: "array"; }; include: { items: { enum: string[]; type: string; }; maxItems: number; type: string; uniqueItems: boolean; }; limit: { maximum: number; minimum: number; type: string; }; name: { maxLength: number; type: string; }; platforms: { items: { maxLength: 80; minLength: 1; type: "string"; }; maxItems: 32; type: "array"; }; pool: { maxLength: number; type: string; }; readiness: { items: { enum: string[]; type: string; }; maxItems: number; type: string; }; statuses: { items: { enum: string[]; type: string; }; maxItems: number; type: string; }; tags: { items: { maxLength: 80; minLength: 1; type: "string"; }; maxItems: 32; type: "array"; }; }; type: "object"; }; select: { additionalProperties: boolean; oneOf: object[]; properties: { deploymentId: { maxLength: number; type: string; }; device: {[key: string]: unknown; properties?: {[key: string]: object; }; required?: string[]; type: "object"; }; selector: {[key: string]: unknown; properties?: {[key: string]: object; }; required?: string[]; type: "object"; }; target: { maxLength: number; minLength: number; type: string; }; ttlMs: { maximum: number; minimum: number; type: string; }; }; type: "object"; }; }>
Defined in: packages/core/src/edge/controlProvider.ts:113Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.
@fentaris/core / EDGE_DISTRIBUTED_CONSISTENCY_REQUIREMENTS
const EDGE_DISTRIBUTED_CONSISTENCY_REQUIREMENTS: Readonly<{ channel: "Channel delivery may be at-least-once; envelopes require request correlation and idempotent terminal consumption."; correlation: "In-flight results require atomic take semantics so exactly one proxy instance consumes a terminal result."; inventory: "Tenant-scoped names and optimistic inventory versions require linearizable compare-and-set writes."; pool: "Round-robin cursor updates and sticky assignments require atomic selection among the supplied eligible snapshot."; presence: "Connection generations require monotonic conditional writes and bounded-expiry reads."; selection: "Session selections and child bindings require read-after-write consistency through their expiry window."; }>
Defined in: packages/core/src/edge/distributed.ts:44Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.
@fentaris/core / EDGE_ERROR_CODES
const EDGE_ERROR_CODES: readonly EdgeErrorCode[]
Defined in: packages/core/src/edge/errors.ts:28All normalized edge error codes, in stable order.
@fentaris/core / EDGE_INVENTORY_SCHEMA_VERSION
const EDGE_INVENTORY_SCHEMA_VERSION: 1
Defined in: packages/core/src/edge/inventory.ts:12Current public inventory schema version.
@fentaris/core / EDGE_LOCAL_AUTHORITY_SCHEMA_VERSION
const EDGE_LOCAL_AUTHORITY_SCHEMA_VERSION: 1
Defined in: packages/core/src/edge/integratedLocalStore.ts:32Current local authority schema version.
@fentaris/core / EDGE_MCP_ENVELOPE_VERSION
const EDGE_MCP_ENVELOPE_VERSION: 1 = 1
Defined in: packages/core/src/edge/protocol.ts:4Current normalized edge MCP envelope version.
@fentaris/core / EDGE_PROTOCOL_MIN_VERSION
const EDGE_PROTOCOL_MIN_VERSION: 1
Defined in: packages/core/src/edge/controlProtocol.ts:26Oldest protocol retained for transparent Edge compatibility.
@fentaris/core / EDGE_PROTOCOL_VERSION
const EDGE_PROTOCOL_VERSION: 3
Defined in: packages/core/src/edge/controlProtocol.ts:24Current edge control-plane protocol version.
@fentaris/core / EDGE_SUPPORTED_PROTOCOL_VERSIONS
const EDGE_SUPPORTED_PROTOCOL_VERSIONS: readonly [3, 2, 1]
Defined in: packages/core/src/edge/controlProtocol.ts:28Protocols implemented by this release, newest first.
@fentaris/core / fentaris
const fentaris: (options) => McpProxy = createProxy
Defined in: packages/core/src/proxy/McpProxy.ts:3718Create a Fentaris proxy with the express-like routing API.Create a Fentaris proxy with the express-like routing API.

Parameters

options?

McpProxyOptions = {}

Returns

McpProxy
@fentaris/core / FentarisErrorCode
const FentarisErrorCode: object
Defined in: packages/core/src/errors/errors.ts:7Standard Fentaris MCP-style error codes.

Type Declaration

InternalError

readonly InternalError: -32603 = -32603

PolicyDenied

readonly PolicyDenied: -32030 = -32030

Unauthorized

readonly Unauthorized: -32040 = -32040

UpstreamError

readonly UpstreamError: -32050 = -32050
@fentaris/core / IN_MEMORY_EDGE_ADAPTER_DIAGNOSTICS
const IN_MEMORY_EDGE_ADAPTER_DIAGNOSTICS: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/inventory.ts:170Common diagnostics for deterministic single-process reference adapters.
@fentaris/core / IN_MEMORY_INSTALLATION_ADAPTER_WARNING
const IN_MEMORY_INSTALLATION_ADAPTER_WARNING: "In-memory installation adapters are single-process only and are not durable or distributed-ready." = "In-memory installation adapters are single-process only and are not durable or distributed-ready."
Defined in: packages/core/src/edge/installation.ts:456Edge execution targets, runtime inputs, setup fields, launch recipes, and errors.
@fentaris/core / INSTALLATION_RECIPE_VERSION
const INSTALLATION_RECIPE_VERSION: 1
Defined in: packages/core/src/edge/installation.ts:13Installation recipe serialization format version.
@fentaris/core / LAUNCH_RECIPE_VERSION
const LAUNCH_RECIPE_VERSION: 1 = 1
Defined in: packages/core/src/edge/recipe.ts:20Launch recipe serialization format version.
@fentaris/core / LOCAL_EDGE_AUTHORITY_ADAPTER_DIAGNOSTICS
const LOCAL_EDGE_AUTHORITY_ADAPTER_DIAGNOSTICS: EdgeAdapterDiagnostics
Defined in: packages/core/src/edge/integratedLocalStore.ts:35Diagnostics for the single-process local authority store.
@fentaris/core / runtime
const runtime: object
Defined in: packages/core/src/edge/runtimeInput.ts:44Runtime-value token builder namespace.

Type Declaration

input()

input(ref): RuntimeValueToken
Create a generic runtime input reference to the setup field ref.

Parameters

ref
string

Returns

RuntimeValueToken

secret()

secret(ref): RuntimeValueToken
Create a runtime secret reference to the setup field ref. The token never contains the secret value.

Parameters

ref
string

Returns

RuntimeValueToken
@fentaris/core / SERIALIZABLE_EDGE_CONTROL_PLANE_KEYS
const SERIALIZABLE_EDGE_CONTROL_PLANE_KEYS: readonly ["enabled", "mode", "basePath", "publicOrigin", "stateDir", "accessTokenTtlSeconds", "refreshTokenTtlSeconds", "authorizationCodeTtlSeconds", "pollIntervalSeconds", "maxPollAttempts", "maxRequestBytes", "maxMetadataBytes", "rateLimitPerMinute"]
Defined in: packages/core/src/edge/integratedConfig.ts:181Keys that may be supplied through serializable project configuration.

McpProxy

@fentaris/core / McpProxyDefined in: packages/core/src/proxy/McpProxy.ts:405HTTP proxy for multiple MCP servers.

Constructors

Constructor

new McpProxy(options?): McpProxy
Defined in: packages/core/src/proxy/McpProxy.ts:463Create a new MCP proxy instance.

Parameters

options?
McpProxyOptions = {}

Returns

McpProxy

Methods

addGroupUsers()

addGroupUsers(groupId, users): void
Defined in: packages/core/src/proxy/McpProxy.ts:2657

Parameters

groupId
string
users
User[]

Returns

void

assertGroupHandleKnown()

assertGroupHandleKnown(groupId): void
Defined in: packages/core/src/proxy/McpProxy.ts:2697

Parameters

groupId
string

Returns

void

assertServerHandleVisible()

assertServerHandleVisible(serverName, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2669

Parameters

serverName
string
groupId?
string

Returns

void

callTool()

callTool(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1877Call a proxied tool with middleware dispatch.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

close()

close(): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1639Close the HTTP server and all backends.

Returns

Promise<void>

complete()

complete(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2421Complete a proxied prompt or resource-template argument.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

edgeSessionPinner()

edgeSessionPinner(): EdgeSessionPinner | undefined
Defined in: packages/core/src/proxy/McpProxy.ts:854Lazily build (and cache) the edge session pinner over the registered targets, normalized bindings, and configured device resolver. Returns undefined when no device resolver is configured (cloud-only runtime).

Returns

EdgeSessionPinner | undefined

emitSessionEnd()

emitSessionEnd(context): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:2538Emit a downstream session end lifecycle event.

Parameters

context
LifecycleHookContext

Returns

Promise<void>

emitSessionStart()

emitSessionStart(context): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:2500Emit a downstream session start lifecycle event.

Parameters

context
LifecycleHookContext

Returns

Promise<void>

endEdgeSession()

endEdgeSession(sessionId): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1050Remove every session-target binding for a downstream session.

Parameters

sessionId
string

Returns

Promise<void>

getPrompt()

getPrompt(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2366Get a proxied prompt from its owning upstream server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

group()

group(groupId): ProxyGroupHandle
Defined in: packages/core/src/proxy/McpProxy.ts:732Register or retrieve a scoped group handle.

Parameters

groupId
string

Returns

ProxyGroupHandle

health()

health(): Promise<HealthReport>
Defined in: packages/core/src/proxy/McpProxy.ts:1693Run configured runtime health checks.

Returns

Promise<HealthReport>

listen()

listen<THandle>(transport): Promise<THandle>
Defined in: packages/core/src/proxy/McpProxy.ts:1350Start the proxy with an explicit downstream exposure transport.

Type Parameters

THandle
THandle extends ProxyExposureHandle

Parameters

transport
ProxyExposureTransport<THandle>

Returns

Promise<THandle>

listPrompts()

listPrompts(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2301List prompts across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

listResources()

listResources(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2096List resources across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

listResourceTemplates()

listResourceTemplates(params?, user?, _identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2230List resource templates across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
_identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

listTools()

listTools(params?, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:1767List tools across all configured servers.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

local()

local(name): ProxyLocalHandle
Defined in: packages/core/src/proxy/McpProxy.ts:712Register or retrieve a named local MCP capability namespace.

Parameters

name
string

Returns

ProxyLocalHandle

mcp()

Call Signature

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:641Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
Returns
ProxyMcpHandle

Call Signature

mcp(name, options): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:642Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
options
ProxyMcpDeclarationOptions
Returns
ProxyMcpHandle

Call Signature

mcp(name, server): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:643Register or retrieve a scoped upstream MCP handle.
Parameters
name
string
server
McpServer
Returns
ProxyMcpHandle

Call Signature

mcp(config): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:644Register or retrieve a scoped upstream MCP handle.
Parameters
config
McpServerOptions
Returns
ProxyMcpHandle

mcpHealth()

mcpHealth(name): Promise<HealthCheckResult>
Defined in: packages/core/src/proxy/McpProxy.ts:1758Check a configured upstream MCP server health.

Parameters

name
string

Returns

Promise<HealthCheckResult>

on()

Call Signature

on(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1178Register an event hook.
Parameters
event
"call"
handler
ToolCallHook
Returns
this

Call Signature

on(event, filter, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1183Register a filtered event hook.
Parameters
event
"call"
filter
ToolCallHookFilter
handler
ToolCallHook
Returns
this

Call Signature

on(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1188Register a unified proxy event handler.
Parameters
event
ProxyEventName
handler
ProxyEventHandler
Returns
this

Call Signature

on(event, filter, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1193Register a filtered unified proxy event handler.
Parameters
event
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
this

onLifecycle()

onLifecycle(event, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:1227Register a lifecycle hook.

Parameters

event
LifecycleHookEvent
handler
LifecycleHook

Returns

this

onListTools()

onListTools(hook): this
Defined in: packages/core/src/proxy/McpProxy.ts:1242Register a hook that can transform listed tools.

Parameters

hook
ListToolsHook

Returns

this

operation()

operation(operation, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:589Register a global operation route for governed non-tool operations.

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

this

pingMcp()

pingMcp(name): Promise<HealthCheckResult>
Defined in: packages/core/src/proxy/McpProxy.ts:1749Ping a configured upstream MCP server by listing tools.

Parameters

name
string

Returns

Promise<HealthCheckResult>

pinSessionTarget()

pinSessionTarget(request): Promise<SessionPinResult>
Defined in: packages/core/src/proxy/McpProxy.ts:882Lazily resolve and pin a downstream session to one eligible edge device per logical target before the first edge-dependent operation. Cloud targets return without pinning. Throws normalized edge errors.

Parameters

request
SessionPinRequest

Returns

Promise<SessionPinResult>

placementResolver()

placementResolver(): PlacementResolver
Defined in: packages/core/src/proxy/McpProxy.ts:829Build a PlacementResolver over the registered targets and normalized placement bindings. The resolver never grants capability access; callers must have already established server-catalog visibility and policy authorization before relying on its result.

Returns

PlacementResolver

policy()

policy(name): Policy
Defined in: packages/core/src/proxy/McpProxy.ts:598Register or retrieve a named app-level policy declaration.

Parameters

name
string

Returns

Policy

readResource()

readResource(params, user?, identity?, subject?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2167Read a proxied resource from its owning upstream server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string
user?
UserContext = {}
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

ready()

ready(options?): Promise<RuntimeLifecycleSnapshot>
Defined in: packages/core/src/proxy/McpProxy.ts:1647Wait for the runtime to reach readiness.

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<RuntimeLifecycleSnapshot>

registerGroupEvent()

registerGroupEvent(groupId, eventName, filter, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:2645

Parameters

groupId
string
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler

Returns

void

registerGroupMiddleware()

registerGroupMiddleware(groupId, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:2635

Parameters

groupId
string
handler
Middleware

Returns

void

registerGroupOperation()

registerGroupOperation(groupId, operation, handler): void
Defined in: packages/core/src/proxy/McpProxy.ts:2640

Parameters

groupId
string
operation
ProxyOperation
handler
ProxyMiddleware

Returns

void

registerPlacementBinding()

registerPlacementBinding(binding): void
Defined in: packages/core/src/proxy/McpProxy.ts:1138Record a placement binding unless a conflicting one already exists.

Parameters

binding
PlacementBindingConfig

Returns

void

registerServerEvent()

registerServerEvent(serverName, eventName, filter, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2622

Parameters

serverName
string
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
groupId?
string

Returns

void

registerServerMiddleware()

registerServerMiddleware(serverName, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2607

Parameters

serverName
string
handler
Middleware
groupId?
string

Returns

void

registerServerOperation()

registerServerOperation(serverName, operation, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2617

Parameters

serverName
string
operation
ProxyOperation
handler
ProxyMiddleware
groupId?
string

Returns

void

registerServerSetup()

registerServerSetup(serverName, schema): void
Defined in: packages/core/src/proxy/McpProxy.ts:1121Register a setup schema for a server.

Parameters

serverName
string
schema
SetupSchema | Record<string, SetupFieldDescriptor>

Returns

void

registerServerTool()

registerServerTool(serverName, pattern, handler, groupId?): void
Defined in: packages/core/src/proxy/McpProxy.ts:2612

Parameters

serverName
string
pattern
string
handler
ProxyMiddleware
groupId?
string

Returns

void

resolveHttpUser()

resolveHttpUser(req): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2483Resolve user context from an HTTP downstream request.

Parameters

req
IncomingMessage

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolvePlacement()

resolvePlacement(request): PlacementResolution
Defined in: packages/core/src/proxy/McpProxy.ts:844Resolve a placement for an already-authorized request. Intended to be called at dispatch time, after server-catalog visibility and policy authorization have established that the subject may use the server. Throws EDGE_UNAUTHORIZED_TARGET for an ineligible explicit selection and EDGE_PLACEMENT_AMBIGUOUS for unresolved runtime group overlap.

Parameters

request
PlacementRequest

Returns

PlacementResolution

resolveStdioUser()

resolveStdioUser(): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/proxy/McpProxy.ts:2491Resolve user context for non-HTTP stdio downstream exposure.

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolveTarget()

resolveTarget(name): ExecutionTarget
Defined in: packages/core/src/proxy/McpProxy.ts:802Resolve a registered or built-in target by name.

Parameters

name
string

Returns

ExecutionTarget

server()

Call Signature

server(name): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:689Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
Returns
ProxyMcpHandle

Call Signature

server(name, options): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:690Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
options
ProxyMcpDeclarationOptions
Returns
ProxyMcpHandle

Call Signature

server(name, server): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:691Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
name
string
server
McpServer
Returns
ProxyMcpHandle

Call Signature

server(config): ProxyMcpHandle
Defined in: packages/core/src/proxy/McpProxy.ts:692Register or retrieve a scoped upstream MCP handle. Alias for mcp(...).
Parameters
config
McpServerOptions
Returns
ProxyMcpHandle

setGroupPolicy()

setGroupPolicy(groupId, policy): void
Defined in: packages/core/src/proxy/McpProxy.ts:2663

Parameters

groupId
string
policy
string | Policy

Returns

void

shutdownEdgeSessions()

shutdownEdgeSessions(): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1057Remove every session-target binding on runtime shutdown.

Returns

Promise<void>

start()

Call Signature

start(onStarted?): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>
Defined in: packages/core/src/proxy/McpProxy.ts:1251Start the HTTP server.
Parameters
onStarted?
() => void
Returns
Promise<Server<typeof IncomingMessage, typeof ServerResponse>>

Call Signature

start(options?, onStarted?): Promise<Server<typeof IncomingMessage, typeof ServerResponse>>
Defined in: packages/core/src/proxy/McpProxy.ts:1256Start the HTTP server with optional overrides.
Parameters
options?
McpProxyStartOptions
onStarted?
() => void
Returns
Promise<Server<typeof IncomingMessage, typeof ServerResponse>>

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/proxy/McpProxy.ts:1685Inspect the current runtime lifecycle state.

Returns

RuntimeLifecycleSnapshot

stop()

stop(options?): Promise<void>
Defined in: packages/core/src/proxy/McpProxy.ts:1655Stop the runtime and close owned resources.

Parameters

options?
McpProxyStopOptions = {}

Returns

Promise<void>

target()

target(name, target?): this
Defined in: packages/core/src/proxy/McpProxy.ts:744Register or retrieve a reusable named execution target. Target bindings describe where an MCP runs and never grant MCP capability access. The built-in cloud target always executes the configured transport on the Fentaris host and need not be registered.

Parameters

name
string
target?
ExecutionTarget

Returns

this

tool()

tool(pattern, handler): this
Defined in: packages/core/src/proxy/McpProxy.ts:580Register a global tool route with a public server.tool pattern.

Parameters

pattern
string
handler
ProxyMiddleware

Returns

this

use()

Call Signature

use(middleware): this
Defined in: packages/core/src/proxy/McpProxy.ts:568Register a middleware handler.
Parameters
middleware
ProxyMiddleware
Returns
this

Call Signature

use(middleware): this
Defined in: packages/core/src/proxy/McpProxy.ts:569Register a middleware handler.
Parameters
middleware
LegacyMiddleware
Returns
this

usePolicy()

usePolicy(policyNameOrPolicy): this
Defined in: packages/core/src/proxy/McpProxy.ts:614Apply a named or concrete policy as the global proxy policy.

Parameters

policyNameOrPolicy
string | Policy

Returns

this

user()

user(userId): ProxyUserHandle
Defined in: packages/core/src/proxy/McpProxy.ts:1158Retrieve a user-scoped MCP handle. Records placement bindings without creating or authenticating a subject.

Parameters

userId
string

Returns

ProxyUserHandle

validateEdgeConfiguration()

validateEdgeConfiguration(): FentarisDiagnostic[]
Defined in: packages/core/src/proxy/McpProxy.ts:1402Validate fluent and constructor-style target, setup, and placement declarations: unresolved user handles, missing targets, duplicate conflicting bindings, incompatible setup fields, undeclared runtime references, unused required fields, and unsafe secret defaults. Target bindings never grant MCP capability access.

Returns

FentarisDiagnostic[]
@fentaris/core / createProxy
createProxy(options?): McpProxy
Defined in: packages/core/src/proxy/McpProxy.ts:3709Create a Fentaris proxy with the express-like routing API.

Parameters

options?

McpProxyOptions = {}

Returns

McpProxy
@fentaris/core / AutoLogOptions
AutoLogOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:365Auto-log configuration for proxied tool calls.

Properties

enabled?

optional enabled?: boolean
Defined in: packages/core/src/proxy/McpProxy.ts:366

failureLevel?

optional failureLevel?: "warn" | "error"
Defined in: packages/core/src/proxy/McpProxy.ts:369

startLevel?

optional startLevel?: "debug" | "info"
Defined in: packages/core/src/proxy/McpProxy.ts:367

successLevel?

optional successLevel?: "debug" | "info"
Defined in: packages/core/src/proxy/McpProxy.ts:368
@fentaris/core / EdgeRuntimeOptions
EdgeRuntimeOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:331Edge runtime wiring supplied to McpProxyOptions.edge.

Properties

capabilityCache?

optional capabilityCache?: EdgeCapabilityCache
Defined in: packages/core/src/proxy/McpProxy.ts:343Validated per-deployment manifest cache used by edge discovery.

childBindingManager?

optional childBindingManager?: EdgeChildBindingManager
Defined in: packages/core/src/proxy/McpProxy.ts:351Optional managed child-binding manager for explicit orchestration.

control?

optional control?: object & EdgeControlProviderOptions | { enabled?: false; }
Defined in: packages/core/src/proxy/McpProxy.ts:349Explicit opt-in configuration for the governed Edge Control provider.

controlPlane?

optional controlPlane?: EdgeControlPlaneConfig
Defined in: packages/core/src/proxy/McpProxy.ts:358Integrated Edge control-plane configuration. When enabled, app.start() mounts authorization, enrollment, revocation, and gateway routes. Disabled by default; omitting this field preserves low-level edge wiring only.

deviceResolver?

optional deviceResolver?: DeviceResolver
Defined in: packages/core/src/proxy/McpProxy.ts:333Control-plane device resolver used to pin edge targets.

sessionBindingExpiry?

optional sessionBindingExpiry?: SessionBindingExpiryOptions
Defined in: packages/core/src/proxy/McpProxy.ts:337Expiry configuration for the default in-memory binding store.

sessionBindingListener?

optional sessionBindingListener?: SessionBindingListener
Defined in: packages/core/src/proxy/McpProxy.ts:339Removal listener for session-target bindings.

sessionBindingStore?

optional sessionBindingStore?: SessionBindingStore
Defined in: packages/core/src/proxy/McpProxy.ts:335Replaceable session-binding store; defaults to in-memory.

sessionSelectionStore?

optional sessionSelectionStore?: EdgeSessionSelectionStore
Defined in: packages/core/src/proxy/McpProxy.ts:347Durable store for agent-requested pre-pin selections.

telemetry?

optional telemetry?: EdgeTelemetry
Defined in: packages/core/src/proxy/McpProxy.ts:345Structured, redacted edge lifecycle telemetry.

transport?

optional transport?: FentarisTransport
Defined in: packages/core/src/proxy/McpProxy.ts:341Virtual edge transport used after an edge target has been pinned.
@fentaris/core / FentarisCliMcpAccountConfig
FentarisCliMcpAccountConfig = object
Defined in: packages/core/src/proxy/McpProxy.ts:320CLI account selector configuration for one MCP server.

Properties

allowed

allowed: string[]
Defined in: packages/core/src/proxy/McpProxy.ts:324Selectors the CLI may use for this MCP.

default

default: string
Defined in: packages/core/src/proxy/McpProxy.ts:322Default selector used when --as is omitted for this MCP.
@fentaris/core / FentarisCliOptions
FentarisCliOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:311Agent-facing CLI configuration embedded in Fentaris app config.

Properties

mcpAccounts?

optional mcpAccounts?: Record<string, FentarisCliMcpAccountConfig>
Defined in: packages/core/src/proxy/McpProxy.ts:313Configured MCP account selectors available to CLI discovery/auth commands.
@fentaris/core / IdentityResolverOptions
IdentityResolverOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:376Identity resolver configuration for proxy-edge auth.

Properties

required?

optional required?: boolean
Defined in: packages/core/src/proxy/McpProxy.ts:378

strategy

strategy: IdentityStrategy
Defined in: packages/core/src/proxy/McpProxy.ts:377
@fentaris/core / McpProxyOptions
McpProxyOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:266Options for creating an MCP proxy server.

Properties

auth?

optional auth?: FentarisAuth
Defined in: packages/core/src/proxy/McpProxy.ts:279

autoLog?

optional autoLog?: boolean | AutoLogOptions
Defined in: packages/core/src/proxy/McpProxy.ts:281

cli?

optional cli?: FentarisCliOptions
Defined in: packages/core/src/proxy/McpProxy.ts:297Agent-facing CLI configuration.

defaults?

optional defaults?: object
Defined in: packages/core/src/proxy/McpProxy.ts:276

credentials?

optional credentials?: CredentialSourceMap

edge?

optional edge?: EdgeRuntimeOptions
Defined in: packages/core/src/proxy/McpProxy.ts:304Edge execution wiring: control-plane device resolver, replaceable session-binding store, expiry, and removal listener. When omitted, edge targets cannot be pinned and the runtime behaves as cloud-only.

errorMapper?

optional errorMapper?: ErrorMapper
Defined in: packages/core/src/proxy/McpProxy.ts:285

groups?

optional groups?: Group[]
Defined in: packages/core/src/proxy/McpProxy.ts:275

health?

optional health?: HealthConfig
Defined in: packages/core/src/proxy/McpProxy.ts:284

host?

optional host?: string
Defined in: packages/core/src/proxy/McpProxy.ts:269

identity?

optional identity?: IdentityStrategy | IdentityResolverOptions
Defined in: packages/core/src/proxy/McpProxy.ts:273

installations?

optional installations?: Record<string, InstallationRecipe>
Defined in: packages/core/src/proxy/McpProxy.ts:293Constructor-style managed installation recipes keyed by MCP server name.

lifecycle?

optional lifecycle?: RuntimeLifecycleOptions
Defined in: packages/core/src/proxy/McpProxy.ts:283

logger?

optional logger?: Logger
Defined in: packages/core/src/proxy/McpProxy.ts:271

name?

optional name?: string
Defined in: packages/core/src/proxy/McpProxy.ts:286

path?

optional path?: string
Defined in: packages/core/src/proxy/McpProxy.ts:270

placements?

optional placements?: PlacementBindingConfig[]
Defined in: packages/core/src/proxy/McpProxy.ts:295Constructor-style placement bindings.

policy?

optional policy?: Policy
Defined in: packages/core/src/proxy/McpProxy.ts:274

port?

optional port?: number
Defined in: packages/core/src/proxy/McpProxy.ts:268

profiler?

optional profiler?: RuntimeProfilerConfig
Defined in: packages/core/src/proxy/McpProxy.ts:282

registry?

optional registry?: Registry
Defined in: packages/core/src/proxy/McpProxy.ts:280

servers?

optional servers?: McpServer[]
Defined in: packages/core/src/proxy/McpProxy.ts:267

setup?

optional setup?: Record<string, Record<string, SetupFieldDescriptor> | SetupSchema>
Defined in: packages/core/src/proxy/McpProxy.ts:291Constructor-style per-server setup schemas.

targets?

optional targets?: Record<string, ExecutionTarget>
Defined in: packages/core/src/proxy/McpProxy.ts:289Constructor-style execution-target declarations.

user?

optional user?: UserContext | ((request) => UserContext | Promise<UserContext>)
Defined in: packages/core/src/proxy/McpProxy.ts:272

version?

optional version?: string
Defined in: packages/core/src/proxy/McpProxy.ts:287
@fentaris/core / McpProxyStartOptions
McpProxyStartOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:385Optional start overrides for the MCP proxy.

Properties

host?

optional host?: string
Defined in: packages/core/src/proxy/McpProxy.ts:387

path?

optional path?: string
Defined in: packages/core/src/proxy/McpProxy.ts:388

port?

optional port?: number
Defined in: packages/core/src/proxy/McpProxy.ts:386

startupTimeoutMs?

optional startupTimeoutMs?: number
Defined in: packages/core/src/proxy/McpProxy.ts:389
@fentaris/core / McpProxyStopOptions
McpProxyStopOptions = object
Defined in: packages/core/src/proxy/McpProxy.ts:396Optional stop overrides for the MCP proxy.

Properties

shutdownTimeoutMs?

optional shutdownTimeoutMs?: number
Defined in: packages/core/src/proxy/McpProxy.ts:397
@fentaris/core / PlacementBindingConfig
PlacementBindingConfig = object
Defined in: packages/core/src/proxy/McpProxy.ts:245A placement binding declared through fluent or constructor-style config.

Properties

groupId?

optional groupId?: string
Defined in: packages/core/src/proxy/McpProxy.ts:251Group id for group-scoped bindings.

scope

scope: PlacementScope
Defined in: packages/core/src/proxy/McpProxy.ts:249Scope of the binding.

serverName

serverName: string
Defined in: packages/core/src/proxy/McpProxy.ts:247Server name the binding applies to.

targetName

targetName: string
Defined in: packages/core/src/proxy/McpProxy.ts:255Registered or built-in target name.

userId?

optional userId?: string
Defined in: packages/core/src/proxy/McpProxy.ts:253User id for user-scoped bindings.
@fentaris/core / fentaris
const fentaris: (options) => McpProxy = createProxy
Defined in: packages/core/src/proxy/McpProxy.ts:3718Create a Fentaris proxy with the express-like routing API.Create a Fentaris proxy with the express-like routing API.

Parameters

options?

McpProxyOptions = {}

Returns

McpProxy

McpServer

@fentaris/core / McpServerDefined in: packages/core/src/server/McpServer.ts:86MCP server wrapper with optional per-user env injection.

Constructors

Constructor

new McpServer(options): McpServer
Defined in: packages/core/src/server/McpServer.ts:102Create a new MCP server wrapper.

Parameters

options
McpServerOptions

Returns

McpServer

Properties

displayName

readonly displayName: string
Defined in: packages/core/src/server/McpServer.ts:88

name

readonly name: string
Defined in: packages/core/src/server/McpServer.ts:87

transport

readonly transport: FentarisTransport
Defined in: packages/core/src/server/McpServer.ts:91The transport backing this server; exposed for edge recipe/validation.

Methods

callTool()

callTool(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/server/McpServer.ts:126Call a tool for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

close()

close(): Promise<void>
Defined in: packages/core/src/server/McpServer.ts:265Close all transports.

Returns

Promise<void>

complete()

complete(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/server/McpServer.ts:215Complete a prompt or resource argument for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

getCredentialBindings()

getCredentialBindings(): ServerCredentialBinding[]
Defined in: packages/core/src/server/McpServer.ts:276Credential bindings declared with this server.

Returns

ServerCredentialBinding[]

getPrompt()

getPrompt(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:202Get a prompt for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

listPrompts()

listPrompts(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:189List prompts for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

listResources()

listResources(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:147List resources for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

listResourceTemplates()

listResourceTemplates(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:173List resource templates for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

listTools()

listTools(params?, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/server/McpServer.ts:118List tools for a given user.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

readResource()

readResource(params, user?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/server/McpServer.ts:160Read a resource for a given user.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string
user?
UserContext = {}

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

supportsCompletions()

supportsCompletions(): boolean
Defined in: packages/core/src/server/McpServer.ts:257Whether the configured transport exposes completion operations.

Returns

boolean

supportsPrompts()

supportsPrompts(): boolean
Defined in: packages/core/src/server/McpServer.ts:249Whether the configured transport exposes prompt operations.

Returns

boolean

supportsResources()

supportsResources(): boolean
Defined in: packages/core/src/server/McpServer.ts:241Whether the configured transport exposes resource operations.

Returns

boolean

withProxyContext()

withProxyContext<T>(context, run): Promise<T>
Defined in: packages/core/src/server/McpServer.ts:228Run a server operation with a governed proxy context when the transport supports it.

Type Parameters

T
T

Parameters

context
ProxyContext
run
() => Promise<T>

Returns

Promise<T>
@fentaris/core / bearer
bearer(credential): BearerCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:343Apply a credential as an Authorization bearer token.

Parameters

credential

CredentialReference

Returns

BearerCredentialAuth
@fentaris/core / header
header(name, credential): HeaderCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:351Apply a credential as a named request header.

Parameters

name

string

credential

CredentialReference

Returns

HeaderCredentialAuth
@fentaris/core / mcp
mcp(name, options): McpServer
Defined in: packages/core/src/server/McpServer.ts:335Create an upstream MCP server declaration.

Parameters

name

string

options

Omit<McpServerOptions, "name">

Returns

McpServer
@fentaris/core / BearerCredentialAuth
BearerCredentialAuth = object
Defined in: packages/core/src/server/McpServer.ts:44

Properties

credential

credential: CredentialReference
Defined in: packages/core/src/server/McpServer.ts:46

type

type: "bearer"
Defined in: packages/core/src/server/McpServer.ts:45
@fentaris/core / EnvResolver
EnvResolver = Record<string, EnvValue> | ((user) => Record<string, string>)
Defined in: packages/core/src/server/McpServer.ts:36Resolve environment variables per user.
@fentaris/core / EnvValue
EnvValue = string | CredentialReference
Defined in: packages/core/src/server/McpServer.ts:30Resolve environment variables per user.
@fentaris/core / HeaderCredentialAuth
HeaderCredentialAuth = object
Defined in: packages/core/src/server/McpServer.ts:49

Properties

credential

credential: CredentialReference
Defined in: packages/core/src/server/McpServer.ts:52

header

header: string
Defined in: packages/core/src/server/McpServer.ts:51

type

type: "header"
Defined in: packages/core/src/server/McpServer.ts:50
@fentaris/core / McpServerAuth
McpServerAuth = BearerCredentialAuth | HeaderCredentialAuth
Defined in: packages/core/src/server/McpServer.ts:42Server credential application configuration.
@fentaris/core / McpServerOptions
McpServerOptions = object
Defined in: packages/core/src/server/McpServer.ts:64Configuration for an MCP server wrapper.

Properties

auth?

optional auth?: McpServerAuth
Defined in: packages/core/src/server/McpServer.ts:68

displayName?

optional displayName?: string
Defined in: packages/core/src/server/McpServer.ts:66

env?

optional env?: EnvResolver
Defined in: packages/core/src/server/McpServer.ts:69

isolation?

optional isolation?: Isolation
Defined in: packages/core/src/server/McpServer.ts:70

isolationTimeout?

optional isolationTimeout?: number
Defined in: packages/core/src/server/McpServer.ts:71

name

name: string
Defined in: packages/core/src/server/McpServer.ts:65

transport

transport: FentarisTransport
Defined in: packages/core/src/server/McpServer.ts:67
@fentaris/core / ServerCredentialBinding
ServerCredentialBinding = { credential: CredentialReference; type: "bearer"; } | { credential: CredentialReference; header: string; type: "header"; } | { credential: CredentialReference; env: string; type: "env"; }
Defined in: packages/core/src/server/McpServer.ts:55

Transports

@fentaris/core / StdioTransportDefined in: packages/core/src/transports/client/StdioTransport.ts:57Stdio-based MCP transport implementation.

Implements

  • FentarisTransport

Constructors

Constructor

new StdioTransport(options): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:66Create a new stdio transport.

Parameters

options
StdioTransportOptions

Returns

StdioTransport

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:138Call a tool on the MCP server.

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: unknown; }
name
string
task?
{ ttl?: number; }
task.ttl?
number

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>

Implementation of

FentarisTransport.callTool

close()

close(): Promise<void>
Defined in: packages/core/src/transports/client/StdioTransport.ts:205Close the underlying client connection.

Returns

Promise<void>

Implementation of

FentarisTransport.close

complete()

complete(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:187

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
argument
{ name: string; value: string; }
argument.name
string
argument.value
string
context?
{ arguments?: {[key: string]: string; }; }
context.arguments?
{[key: string]: string; }
ref
{ name: string; type: "ref/prompt"; } | { type: "ref/resource"; uri: string; }

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; completion: {[key: string]: unknown; hasMore?: boolean; total?: number; values: string[]; }; }>

Implementation of

FentarisTransport.complete

getPrompt()

getPrompt(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:178

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
arguments?
{[key: string]: string; }
name
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; description?: string; messages: object[]; }>

Implementation of

FentarisTransport.getPrompt

listPrompts()

listPrompts(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:169

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; prompts: object[]; }>

Implementation of

FentarisTransport.listPrompts

listResources()

listResources(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:142

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resources: object[]; }>

Implementation of

FentarisTransport.listResources

listResourceTemplates()

listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:160

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; resourceTemplates: object[]; }>

Implementation of

FentarisTransport.listResourceTemplates

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:125List tools exposed by the MCP server.

Parameters

params?
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
cursor?
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; nextCursor?: string; tools: object[]; }>

Implementation of

FentarisTransport.listTools

readResource()

readResource(params): Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>
Defined in: packages/core/src/transports/client/StdioTransport.ts:151

Parameters

params
_meta?
{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }
_meta.io.modelcontextprotocol/related-task?
{ taskId: string; }If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
string
_meta.progressToken?
string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
uri
string

Returns

Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; contents: ({ _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; })[]; }>

Implementation of

FentarisTransport.readResource

runtimeValueTokens()

runtimeValueTokens(): RuntimeValueToken[]
Defined in: packages/core/src/transports/client/StdioTransport.ts:90Return every runtime-value token declared in arguments and environment. Used by configuration validation to reconcile references against setup fields without exposing the full options object.

Returns

RuntimeValueToken[]

serverCapabilities()

serverCapabilities(): Promise<{ completions?: object; experimental?: {[key: string]: object; }; extensions?: {[key: string]: object; }; logging?: object; prompts?: { listChanged?: boolean; }; resources?: { listChanged?: boolean; subscribe?: boolean; }; tasks?: {[key: string]: unknown; cancel?: object; list?: object; requests?: {[key: string]: unknown; tools?: {[key: string]: unknown; call?: object; }; }; }; tools?: { listChanged?: boolean; }; } | undefined>
Defined in: packages/core/src/transports/client/StdioTransport.ts:197Return the initialized upstream capability declaration.

Returns

Promise<{ completions?: object; experimental?: {[key: string]: object; }; extensions?: {[key: string]: object; }; logging?: object; prompts?: { listChanged?: boolean; }; resources?: { listChanged?: boolean; subscribe?: boolean; }; tasks?: {[key: string]: unknown; cancel?: object; list?: object; requests?: {[key: string]: unknown; tools?: {[key: string]: unknown; call?: object; }; }; }; tools?: { listChanged?: boolean; }; } | undefined>

toLaunchRecipe()

toLaunchRecipe(schema?): LaunchRecipe
Defined in: packages/core/src/transports/client/StdioTransport.ts:80Compile this transport’s declaration into a serializable launch recipe bound to an optional setup schema. Cloud/edge validation uses this to reconcile runtime-value references against declared setup fields.

Parameters

schema?
SetupSchema

Returns

LaunchRecipe

unresolvedCloudRuntimeRefs()

unresolvedCloudRuntimeRefs(): string[]
Defined in: packages/core/src/transports/client/StdioTransport.ts:102Runtime references that have no explicit cloud-side value.

Returns

string[]

withEnv()

withEnv(env): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:111Return a copy with merged environment variables.

Parameters

env
Record<string, string>

Returns

StdioTransport
@fentaris/core / stdio
stdio(options): StdioTransport
Defined in: packages/core/src/transports/client/StdioTransport.ts:293Create a stdio upstream transport.

Parameters

options

StdioTransportOptions

Returns

StdioTransport
@fentaris/core / StdioTransportOptions
StdioTransportOptions = object
Defined in: packages/core/src/transports/client/StdioTransport.ts:37Options for the stdio transport.Argument and environment entries may be plain strings (existing behavior) or runtime-value tokens (runtime.input(...) / runtime.secret(...)) that are resolved before process launch on a cloud target, or serialized into a recipe for edge launch. A plain-string configuration remains unchanged.

Properties

args?

optional args?: (string | RuntimeValueToken)[]
Defined in: packages/core/src/transports/client/StdioTransport.ts:39

clientName?

optional clientName?: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:49

clientVersion?

optional clientVersion?: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:50

command

command: string
Defined in: packages/core/src/transports/client/StdioTransport.ts:38

env?

optional env?: Record<string, string | RuntimeValueToken>
Defined in: packages/core/src/transports/client/StdioTransport.ts:40

runtimeValues?

optional runtimeValues?: Record<string, string>
Defined in: packages/core/src/transports/client/StdioTransport.ts:47Explicit cloud-side resolutions for runtime references. These values are used only for local cloud process launch and are never serialized into an edge launch recipe.

stderr?

optional stderr?: "inherit" | "pipe" | "overlapped" | "ignore"
Defined in: packages/core/src/transports/client/StdioTransport.ts:48

Logger

@fentaris/core / ConsoleLoggerDriverDefined in: logger.ts:77Console-based logger driver.

Implements

  • LoggerDriver

Constructors

Constructor

new ConsoleLoggerDriver(): ConsoleLoggerDriver

Returns

ConsoleLoggerDriver

Methods

write()

write(entry): void
Defined in: logger.ts:82Write the log entry to the console.

Parameters

entry
LogEntry

Returns

void

Implementation of

LoggerDriver.write
@fentaris/core / JsonConsoleLoggerDriverDefined in: logger.ts:104Console driver that writes one JSON log entry per line.

Implements

  • LoggerDriver

Constructors

Constructor

new JsonConsoleLoggerDriver(options?): JsonConsoleLoggerDriver
Defined in: logger.ts:111Create a JSON console logger driver.

Parameters

options?
JsonConsoleLoggerDriverOptions = {}

Returns

JsonConsoleLoggerDriver

Methods

write()

write(entry): void
Defined in: logger.ts:119Write the log entry as a single JSON line.

Parameters

entry
LogEntry

Returns

void

Implementation of

LoggerDriver.write
@fentaris/core / LoggerDefined in: logger.ts:191Structured logger with level filtering.

Constructors

Constructor

new Logger(options?): Logger
Defined in: logger.ts:204Create a new logger instance.

Parameters

options?
LoggerOptions = {}

Returns

Logger

Methods

annotate()

annotate(key, value): this
Defined in: logger.ts:236Add mutable metadata that will be included in future log writes.

Parameters

key
string
value
unknown

Returns

this

child()

child(context): Logger
Defined in: logger.ts:217Create a child logger with merged context.

Parameters

context
Record<string, unknown>

Returns

Logger

debug()

debug(message, metadata?): void
Defined in: logger.ts:254Emit a debug log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

error()

error(message, metadata?): void
Defined in: logger.ts:278Emit an error log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

fatal()

fatal(message, metadata?): void
Defined in: logger.ts:286Emit a fatal log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

info()

info(message, metadata?): void
Defined in: logger.ts:262Emit an info log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void

setTag()

setTag(key, value): this
Defined in: logger.ts:245Add a tag to future log writes.

Parameters

key
string
value
unknown

Returns

this

warn()

warn(message, metadata?): void
Defined in: logger.ts:270Emit a warning log entry.

Parameters

message
string
metadata?
Record<string, unknown> = {}

Returns

void
@fentaris/core / RedisLoggerDriverDefined in: logger.ts:169Redis-backed logger driver that appends JSON log entries to a list.

Implements

  • LoggerDriver

Constructors

Constructor

new RedisLoggerDriver(options): RedisLoggerDriver
Defined in: logger.ts:177Create a Redis logger driver.

Parameters

options
RedisLoggerDriverOptions

Returns

RedisLoggerDriver

Methods

write()

write(entry): Promise<void>
Defined in: logger.ts:182

Parameters

entry
LogEntry

Returns

Promise<void>

Implementation of

LoggerDriver.write
@fentaris/core / jsonConsoleLogger
jsonConsoleLogger(options?): Logger
Defined in: logger.ts:140Create a logger that writes structured JSON entries to stdout.

Parameters

options?

JsonConsoleLoggerOptions = {}

Returns

Logger
@fentaris/core / JsonConsoleLoggerDriverOptions
JsonConsoleLoggerDriverOptions = object
Defined in: logger.ts:96JSON console logger driver options.

Properties

writeLine?

optional writeLine?: (line) => void
Defined in: logger.ts:97

Parameters

line
string

Returns

void
@fentaris/core / JsonConsoleLoggerOptions
JsonConsoleLoggerOptions = Omit<LoggerOptions, "driver"> & JsonConsoleLoggerDriverOptions
Defined in: logger.ts:134JSON stdout logger factory options.
@fentaris/core / LogEntry
LogEntry = object
Defined in: logger.ts:16Structured log entry payload.

Properties

context

context: Record<string, unknown>
Defined in: logger.ts:20

level

level: LogLevel
Defined in: logger.ts:17

message

message: string
Defined in: logger.ts:18

metadata

metadata: Record<string, unknown>
Defined in: logger.ts:21

timestamp

timestamp: Date
Defined in: logger.ts:19
@fentaris/core / LoggerDriver
LoggerDriver = object
Defined in: logger.ts:28Low-level logger driver interface.

Methods

write()

write(entry): void | Promise<void>
Defined in: logger.ts:29

Parameters

entry
LogEntry

Returns

void | Promise<void>
@fentaris/core / LoggerOptions
LoggerOptions = object
Defined in: logger.ts:36Logger configuration options.

Properties

context?

optional context?: Record<string, unknown>
Defined in: logger.ts:39

driver?

optional driver?: LoggerDriver
Defined in: logger.ts:38

level?

optional level?: LogLevel
Defined in: logger.ts:37

onWrite?

optional onWrite?: (entry) => void | Promise<void>
Defined in: logger.ts:40

Parameters

entry
LogEntry

Returns

void | Promise<void>

redact?

optional redact?: boolean | LoggerRedactionOptions
Defined in: logger.ts:41
@fentaris/core / LoggerRedactionOptions
LoggerRedactionOptions = object
Defined in: logger.ts:48Logger redaction configuration.

Properties

enabled?

optional enabled?: boolean
Defined in: logger.ts:49

keys?

optional keys?: (string | RegExp)[]
Defined in: logger.ts:51

paths?

optional paths?: string[]
Defined in: logger.ts:52

redact?

optional redact?: (value, path, key?) => unknown
Defined in: logger.ts:53

Parameters

value
unknown
path
string[]
key?
string

Returns

unknown

replacement?

optional replacement?: string
Defined in: logger.ts:50
@fentaris/core / LogLevel
LogLevel = "debug" | "info" | "warn" | "error" | "fatal"
Defined in: logger.ts:10Supported log levels.
@fentaris/core / RedisLoggerClient
RedisLoggerClient = object
Defined in: logger.ts:152Minimal Redis-compatible logger client contract.

Methods

rpush()

rpush(key, value): void | Promise<unknown>
Defined in: logger.ts:153

Parameters

key
string
value
string

Returns

void | Promise<unknown>
@fentaris/core / RedisLoggerDriverOptions
RedisLoggerDriverOptions = object
Defined in: logger.ts:160Redis logger driver options.

Properties

client

client: RedisLoggerClient
Defined in: logger.ts:161

key?

optional key?: string
Defined in: logger.ts:162

Types

@fentaris/core / ResponseControllerDefined in: packages/core/src/types/middleware.ts:93Helper for returning allow/deny responses from middleware.

Constructors

Constructor

new ResponseController(): ResponseController

Returns

ResponseController

Methods

continue()

continue(): undefined
Defined in: packages/core/src/types/middleware.ts:128Allow middleware to continue without overriding the response.

Returns

undefined

deny()

deny(message): object
Defined in: packages/core/src/types/middleware.ts:102Deny a tool call with a message.

Parameters

message
string

Returns

object
_meta?
optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
content
content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]
isError?
optional isError?: boolean
structuredContent?
optional structuredContent?: object
Index Signature
[key: string]: unknown

fail()

fail(code, message): object
Defined in: packages/core/src/types/middleware.ts:113Return a structured MCP-style error without throwing.

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: object
Index Signature
[key: string]: unknown
_meta.io.modelcontextprotocol/related-task?
optional io.modelcontextprotocol/related-task?: object
If specified, this request is related to the provided task.
_meta.io.modelcontextprotocol/related-task.taskId
taskId: string
_meta.progressToken?
optional progressToken?: string | number
If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
content
content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]
isError?
optional isError?: boolean
structuredContent?
optional structuredContent?: object
Index Signature
[key: string]: unknown

injectToAgent()

injectToAgent(message): void
Defined in: packages/core/src/types/middleware.ts:136Add guidance for the calling agent to the eventual tool response.

Parameters

message
string

Returns

void

on()

on(event, handler): void
Defined in: packages/core/src/types/middleware.ts:146Register a response event handler.

Parameters

event
"error"
handler
(error) => MaybePromise<void>

Returns

void
@fentaris/core / IsolationDefined in: packages/core/src/types/policy.ts:127Isolation runtime for per-user execution.

Methods

close()

close(): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:133

Returns

MaybePromise<void>

queue()

queue(userId, fn, timeout?): MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
Defined in: packages/core/src/types/policy.ts:128

Parameters

userId
string
fn
() => MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (… | …)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
timeout?
number

Returns

MaybePromise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: ("user" | "assistant")[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; })[]; isError?: boolean; structuredContent?: {[key: string]: unknown; }; }>
@fentaris/core / PolicyDefined in: packages/core/src/types/policy.ts:59Policy for RBAC-style permission enforcement.

Properties

description?

optional description?: string
Defined in: packages/core/src/types/policy.ts:61

metadata?

optional metadata?: object
Defined in: packages/core/src/types/policy.ts:69

Index Signature

[key: string]: unknown

maxDailyCalls?

optional maxDailyCalls?: number

requiresApproval?

optional requiresApproval?: boolean

name

name: string
Defined in: packages/core/src/types/policy.ts:60

Methods

evaluate()

evaluate(request, user, context?): MaybePromise<PolicyDecision>
Defined in: packages/core/src/types/policy.ts:64

Parameters

request
ToolCallRequest | CapabilityOperationRequest
user
UserContext
context?
MiddlewareContext

Returns

MaybePromise<PolicyDecision>

getCapabilityPermissions()?

optional getCapabilityPermissions(serverName): CapabilityPermission[]
Defined in: packages/core/src/types/policy.ts:63

Parameters

serverName
string

Returns

CapabilityPermission[]

getPermissions()

getPermissions(serverName): ToolPermission[]
Defined in: packages/core/src/types/policy.ts:62

Parameters

serverName
string

Returns

ToolPermission[]
@fentaris/core / RateLimiterDefined in: packages/core/src/types/policy.ts:102Rate limiter with sliding window and quota support.

Properties

metadata?

optional metadata?: object
Defined in: packages/core/src/types/policy.ts:107

maxDailyCalls?

optional maxDailyCalls?: number

maxPerWindow?

optional maxPerWindow?: number

windowMs?

optional windowMs?: number

Methods

checkLimit()

checkLimit(key): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:104

Parameters

key
string

Returns

MaybePromise<boolean>

consume()

consume(key): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:103

Parameters

key
string

Returns

MaybePromise<boolean>

getRemainingCalls()

getRemainingCalls(key): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:106

Parameters

key
string

Returns

MaybePromise<number>

recordCall()

recordCall(key): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:105

Parameters

key
string

Returns

MaybePromise<void>
@fentaris/core / RateLimitStoreDefined in: packages/core/src/types/policy.ts:90Rate limit store for distributed tracking.

Methods

consume()

consume(key, window, limit): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:92

Parameters

key
string
window
number
limit
number

Returns

MaybePromise<boolean>

consumeMany()?

optional consumeMany(limits): MaybePromise<boolean>
Defined in: packages/core/src/types/policy.ts:93

Parameters

limits
object[]

Returns

MaybePromise<boolean>

get()

get(key): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:94

Parameters

key
string

Returns

MaybePromise<number>

increment()

increment(key, window): MaybePromise<number>
Defined in: packages/core/src/types/policy.ts:91

Parameters

key
string
window
number

Returns

MaybePromise<number>

reset()

reset(key): MaybePromise<void>
Defined in: packages/core/src/types/policy.ts:95

Parameters

key
string

Returns

MaybePromise<void>
@fentaris/core / RegistryDefined in: packages/core/src/types/policy.ts:80Registry for resolving user data and secrets.

Methods

getSecrets()

getSecrets(userId): MaybePromise<Record<string, string> | null>
Defined in: packages/core/src/types/policy.ts:82

Parameters

userId
string

Returns

MaybePromise<Record<string, string> | null>

getTokens()

getTokens(userId): MaybePromise<Record<string, string> | null>
Defined in: packages/core/src/types/policy.ts:83

Parameters

userId
string

Returns

MaybePromise<Record<string, string> | null>

getUser()

getUser(userId): MaybePromise<UserContext | null>
Defined in: packages/core/src/types/policy.ts:81

Parameters

userId
string

Returns

MaybePromise<UserContext | null>
@fentaris/core / ApprovalDecisionController
ApprovalDecisionController = object
Defined in: packages/core/src/types/shared.ts:142Ergonomic helpers for approval callbacks.

Methods

approve()

approve(metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:143

Parameters

metadata?
Record<string, unknown>

Returns

ApprovalResult

deny()

deny(reason?, metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:144

Parameters

reason?
string
metadata?
Record<string, unknown>

Returns

ApprovalResult

pending()

pending(reason?, metadata?): ApprovalResult
Defined in: packages/core/src/types/shared.ts:145

Parameters

reason?
string
metadata?
Record<string, unknown>

Returns

ApprovalResult
@fentaris/core / ApprovalHandler
ApprovalHandler<TRequest> = (request, context) => MaybePromise<ApprovalResult>
Defined in: packages/core/src/types/shared.ts:168Permission approval callback.

Type Parameters

TRequest

TRequest

Parameters

request

TRequest

context

MiddlewareContext

Returns

MaybePromise<ApprovalResult>
@fentaris/core / ApprovalMetadata
ApprovalMetadata = object
Defined in: packages/core/src/types/shared.ts:58Safe approval metadata exposed through policy decisions and logs.

Properties

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:63

reason?

optional reason?: string
Defined in: packages/core/src/types/shared.ts:60

requestId?

optional requestId?: string
Defined in: packages/core/src/types/shared.ts:62

status

status: "approved" | "denied" | "pending"
Defined in: packages/core/src/types/shared.ts:59

url?

optional url?: string
Defined in: packages/core/src/types/shared.ts:61
@fentaris/core / ApprovalResult
ApprovalResult = boolean | { approved: boolean; metadata?: Record<string, unknown>; reason?: string; } | { metadata?: Record<string, unknown>; reason?: string; requestId?: string; status: "approved" | "denied" | "pending"; url?: string; }
Defined in: packages/core/src/types/shared.ts:123Structured result for permission approval callbacks.
@fentaris/core / CapabilityOperationRequest
CapabilityOperationRequest = object
Defined in: packages/core/src/types/mcp-operation.ts:110Normalized request used for operation-based policy evaluation.

Properties

operation

operation: McpOperationName
Defined in: packages/core/src/types/mcp-operation.ts:112

raw?

optional raw?: unknown
Defined in: packages/core/src/types/mcp-operation.ts:115

serverName

serverName: string
Defined in: packages/core/src/types/mcp-operation.ts:111

target?

optional target?: string
Defined in: packages/core/src/types/mcp-operation.ts:113

targetKind?

optional targetKind?: CapabilityTargetKind
Defined in: packages/core/src/types/mcp-operation.ts:114
@fentaris/core / CapabilityPermission
CapabilityPermission = object
Defined in: packages/core/src/types/policy.ts:34Operation-based permission model for governed MCP capabilities.

Properties

approval?

optional approval?: ApprovalHandler<CapabilityOperationRequest>
Defined in: packages/core/src/types/policy.ts:41

effect?

optional effect?: "allow" | "deny"
Defined in: packages/core/src/types/policy.ts:39

limiter?

optional limiter?: RateLimiter
Defined in: packages/core/src/types/policy.ts:40

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:42

operation

operation: McpOperationName | "*"
Defined in: packages/core/src/types/policy.ts:36

server?

optional server?: string
Defined in: packages/core/src/types/policy.ts:35

target?

optional target?: string
Defined in: packages/core/src/types/policy.ts:37

targetKind?

optional targetKind?: CapabilityTargetKind
Defined in: packages/core/src/types/policy.ts:38
@fentaris/core / CapabilityTargetKind
CapabilityTargetKind = "tool" | "resource" | "resourceTemplate" | "prompt" | "completion"
Defined in: packages/core/src/types/mcp-operation.ts:104Capability target selector kind for policy permissions.
@fentaris/core / CompleteParams
CompleteParams = CompleteRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:45Request/result aliases for MCP completion operations.
@fentaris/core / CompleteResponse
CompleteResponse = CompleteResult
Defined in: packages/core/src/types/mcp-operation.ts:46
@fentaris/core / CredentialSourceMetadata
CredentialSourceMetadata = object
Defined in: packages/core/src/types/shared.ts:47Credential source metadata safe to expose in middleware and logs.

Properties

groupId?

optional groupId?: string
Defined in: packages/core/src/types/shared.ts:51

reference

reference: string
Defined in: packages/core/src/types/shared.ts:48

source

source: "user" | "group" | "default"
Defined in: packages/core/src/types/shared.ts:49

userId?

optional userId?: string
Defined in: packages/core/src/types/shared.ts:50
@fentaris/core / ErrorMapper
ErrorMapper = object
Defined in: packages/core/src/types/policy.ts:140Error mapper for standardized MCP error responses.

Methods

mapError()

mapError(error, context): object
Defined in: packages/core/src/types/policy.ts:141

Parameters

error
unknown
context
serverName?
string
toolName?
string

Returns

object
code
code: number
message
message: string
@fentaris/core / FentarisTransport
FentarisTransport = object
Defined in: packages/core/src/types/transport.ts:22Transport interface for MCP client interactions.

Methods

callTool()

callTool(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>; isError?: z.ZodOptional<z.ZodBoolean>; structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }>
Defined in: packages/core/src/types/transport.ts:34

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
arguments?
z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>
name
z.ZodString
task?
z.ZodOptional<z.ZodObject<{ ttl: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>; isError?: z.ZodOptional<z.ZodBoolean>; structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }>

close()

close(): Promise<void>
Defined in: packages/core/src/types/transport.ts:42

Returns

Promise<void>

complete()?

optional complete(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; completion: z.ZodObject<{ hasMore: z.ZodOptional<z.ZodBoolean>; total: z.ZodOptional<z.ZodNumber>; values: z.ZodArray<z.ZodString>; }, z.core.$loose>; }>
Defined in: packages/core/src/types/transport.ts:40

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
argument
z.ZodObject<{ name: z.ZodString; value: z.ZodString; }, z.core.$strip>
context?
z.ZodOptional<z.ZodObject<{ arguments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; }, z.core.$strip>>
ref
z.ZodUnion<readonly [z.ZodObject<{ name: z.ZodString; type: z.ZodLiteral<"ref/prompt">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"ref/resource">; uri: z.ZodString; }, z.core.$strip>]>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; completion: z.ZodObject<{ hasMore: z.ZodOptional<z.ZodBoolean>; total: z.ZodOptional<z.ZodNumber>; values: z.ZodArray<z.ZodString>; }, z.core.$loose>; }>

getPrompt()?

optional getPrompt(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; description?: z.ZodOptional<z.ZodString>; messages: z.ZodArray<z.ZodObject<{ content: z.ZodUnion<readonly [z.ZodObject<{ _meta: …; annotations: …; text: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; description: …; icons: …; mimeType: …; name: …; size: …; title: …; type: …; uri: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; resource: …; type: …; }, z.core.$strip>]>; role: z.ZodEnum<{ assistant: "assistant"; user: "user"; }>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:39

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
arguments?
z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>
name
z.ZodString

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; description?: z.ZodOptional<z.ZodString>; messages: z.ZodArray<z.ZodObject<{ content: z.ZodUnion<readonly [z.ZodObject<{ _meta: …; annotations: …; text: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; data: …; mimeType: …; type: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; description: …; icons: …; mimeType: …; name: …; size: …; title: …; type: …; uri: …; }, z.core.$strip>, z.ZodObject<{ _meta: …; annotations: …; resource: …; type: …; }, z.core.$strip>]>; role: z.ZodEnum<{ assistant: "assistant"; user: "user"; }>; }, z.core.$strip>>; }>

listPrompts()?

optional listPrompts(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; prompts: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodOptional<…>; name: z.ZodString; required: z.ZodOptional<…>; }, z.core.$strip>>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:38

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; prompts: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{ description: z.ZodOptional<…>; name: z.ZodString; required: z.ZodOptional<…>; }, z.core.$strip>>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>

listResources()?

optional listResources(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resources: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; size: z.ZodOptional<z.ZodNumber>; title: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:35

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resources: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; size: z.ZodOptional<z.ZodNumber>; title: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>>; }>

listResourceTemplates()?

optional listResourceTemplates(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resourceTemplates: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; uriTemplate: z.ZodString; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:37

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; resourceTemplates: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodObject<{ }, z.core.$loose>>; annotations: z.ZodOptional<z.ZodObject<{ audience: z.ZodOptional<z.ZodArray<…>>; lastModified: z.ZodOptional<z.ZodISODateTime>; priority: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; mimeType: z.ZodOptional<z.ZodString>; name: z.ZodString; title: z.ZodOptional<z.ZodString>; uriTemplate: z.ZodString; }, z.core.$strip>>; }>

listTools()

listTools(params?): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; tools: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; annotations: z.ZodOptional<z.ZodObject<{ destructiveHint: z.ZodOptional<z.ZodBoolean>; idempotentHint: z.ZodOptional<z.ZodBoolean>; openWorldHint: z.ZodOptional<z.ZodBoolean>; readOnlyHint: z.ZodOptional<z.ZodBoolean>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; execution: z.ZodOptional<z.ZodObject<{ taskSupport: z.ZodOptional<z.ZodEnum<…>>; }, z.core.$strip>>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; inputSchema: z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<…, …>>>; required: z.ZodOptional<z.ZodArray<z.ZodString>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>; name: z.ZodString; outputSchema: z.ZodOptional<z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<…, …>>; required: z.ZodOptional<z.ZodArray<…>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>
Defined in: packages/core/src/types/transport.ts:33

Parameters

params?
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
cursor?
z.ZodOptional<z.ZodString>

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; nextCursor?: z.ZodOptional<z.ZodString>; tools: z.ZodArray<z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; annotations: z.ZodOptional<z.ZodObject<{ destructiveHint: z.ZodOptional<z.ZodBoolean>; idempotentHint: z.ZodOptional<z.ZodBoolean>; openWorldHint: z.ZodOptional<z.ZodBoolean>; readOnlyHint: z.ZodOptional<z.ZodBoolean>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; description: z.ZodOptional<z.ZodString>; execution: z.ZodOptional<z.ZodObject<{ taskSupport: z.ZodOptional<z.ZodEnum<…>>; }, z.core.$strip>>; icons: z.ZodOptional<z.ZodArray<z.ZodObject<{ mimeType: z.ZodOptional<…>; sizes: z.ZodOptional<…>; src: z.ZodString; theme: z.ZodOptional<…>; }, z.core.$strip>>>; inputSchema: z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCustom<…, …>>>; required: z.ZodOptional<z.ZodArray<z.ZodString>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>; name: z.ZodString; outputSchema: z.ZodOptional<z.ZodObject<{ properties: z.ZodOptional<z.ZodRecord<…, …>>; required: z.ZodOptional<z.ZodArray<…>>; type: z.ZodLiteral<"object">; }, z.core.$catchall<z.ZodUnknown>>>; title: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }>

ping()?

optional ping(): Promise<{ _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; }>
Defined in: packages/core/src/types/transport.ts:41

Returns

Promise<{ _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; }>

readResource()?

optional readResource(params): Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; contents: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; mimeType: z.ZodOptional<z.ZodString>; text: z.ZodString; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; blob: z.ZodString; mimeType: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>]>>; }>
Defined in: packages/core/src/types/transport.ts:36

Parameters

params
_meta?
z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
uri
z.ZodString

Returns

Promise<{[key: string]: unknown; _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>; contents: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; mimeType: z.ZodOptional<z.ZodString>; text: z.ZodString; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<z.ZodRecord<…, …>>; blob: z.ZodString; mimeType: z.ZodOptional<z.ZodString>; uri: z.ZodString; }, z.core.$strip>]>>; }>

withProxyContext()?

optional withProxyContext<T>(context, run): Promise<T>
Defined in: packages/core/src/types/transport.ts:32Run an MCP operation with the governed proxy context that authorized it.Context-aware transports (including edge dispatch) use this explicit contract to observe the authenticated subject, downstream session, policy decision, and selected capability without changing operation signatures. Transports that do not need proxy context may omit it.

Type Parameters

T
T

Parameters

context
ProxyContext
run
() => Promise<T>

Returns

Promise<T>
@fentaris/core / GetPromptParams
GetPromptParams = GetPromptRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:38
@fentaris/core / GetPromptResponse
GetPromptResponse = GetPromptResult
Defined in: packages/core/src/types/mcp-operation.ts:39
@fentaris/core / GovernanceContext
GovernanceContext = MiddlewareContext & object
Defined in: packages/core/src/types/policy.ts:151Extended middleware context with governance.

Type Declaration

identity?

optional identity?: IdentityMetadata

policy?

optional policy?: Policy

policyDecision?

optional policyDecision?: PolicyDecision

rateLimiter?

optional rateLimiter?: RateLimiter

registry?

optional registry?: Registry
@fentaris/core / GroupMembership
GroupMembership = object
Defined in: packages/core/src/types/shared.ts:37Configured group membership metadata for a resolved subject.

Properties

id

id: string
Defined in: packages/core/src/types/shared.ts:38

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:40

name?

optional name?: string
Defined in: packages/core/src/types/shared.ts:39
@fentaris/core / HealthCheckContext
HealthCheckContext = object
Defined in: packages/core/src/health/health.ts:86

Properties

auth

auth: object
Defined in: packages/core/src/health/health.ts:92

state()

state(): HealthCheckResult
Returns
HealthCheckResult

identity

identity: object
Defined in: packages/core/src/health/health.ts:93

state()

state(): HealthCheckResult
Returns
HealthCheckResult

policy

policy: object
Defined in: packages/core/src/health/health.ts:91

state()

state(): HealthCheckResult
Returns
HealthCheckResult

runtime

runtime: HealthRuntimeContext
Defined in: packages/core/src/health/health.ts:87

Methods

group()

group(id): HealthGroupContext
Defined in: packages/core/src/health/health.ts:89

Parameters

id
string

Returns

HealthGroupContext

mcp()

mcp(name): HealthServerContext
Defined in: packages/core/src/health/health.ts:88

Parameters

name
string

Returns

HealthServerContext

transport()

transport(nameOrType?): HealthTransportContext
Defined in: packages/core/src/health/health.ts:90

Parameters

nameOrType?
string

Returns

HealthTransportContext
@fentaris/core / HealthCheckHandler
HealthCheckHandler = (ctx) => HealthStatus | Partial<HealthCheckResult> | Promise<HealthStatus | Partial<HealthCheckResult>>
Defined in: packages/core/src/health/health.ts:28

Parameters

ctx

HealthCheckContext

Returns

HealthStatus | Partial<HealthCheckResult> | Promise<HealthStatus | Partial<HealthCheckResult>>
@fentaris/core / HealthCheckResult
HealthCheckResult = object
Defined in: packages/core/src/health/health.ts:10

Properties

checkedAt

checkedAt: Date
Defined in: packages/core/src/health/health.ts:15

durationMs

durationMs: number
Defined in: packages/core/src/health/health.ts:14

error?

optional error?: ReturnType<typeof runtimeErrorToEventPayload>
Defined in: packages/core/src/health/health.ts:17

message?

optional message?: string
Defined in: packages/core/src/health/health.ts:13

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/health/health.ts:16

name

name: string
Defined in: packages/core/src/health/health.ts:11

status

status: HealthStatus
Defined in: packages/core/src/health/health.ts:12
@fentaris/core / HealthConfig
HealthConfig = boolean | HealthBuilder | HealthBuilderOptions & object
Defined in: packages/core/src/health/health.ts:39
@fentaris/core / HealthReport
HealthReport = object
Defined in: packages/core/src/health/health.ts:20

Properties

checkedAt

checkedAt: Date
Defined in: packages/core/src/health/health.ts:22

checks

checks: HealthCheckResult[]
Defined in: packages/core/src/health/health.ts:24

durationMs

durationMs: number
Defined in: packages/core/src/health/health.ts:23

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/health/health.ts:25

status

status: HealthStatus
Defined in: packages/core/src/health/health.ts:21
@fentaris/core / HealthStatus
HealthStatus = "ok" | "degraded" | "down" | "unknown"
Defined in: packages/core/src/health/health.ts:7
@fentaris/core / IdentityMetadata
IdentityMetadata = object
Defined in: packages/core/src/types/shared.ts:112Identity metadata resolved at the proxy edge.

Properties

authenticated?

optional authenticated?: boolean
Defined in: packages/core/src/types/shared.ts:114

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:116

strategy?

optional strategy?: string
Defined in: packages/core/src/types/shared.ts:113

userId?

optional userId?: string
Defined in: packages/core/src/types/shared.ts:115
@fentaris/core / IdentityStrategy
IdentityStrategy = object
Defined in: packages/core/src/types/policy.ts:118Identity resolution strategy.

Properties

name

name: string
Defined in: packages/core/src/types/policy.ts:119

Methods

resolve()

resolve(request): MaybePromise<UserContext | null>
Defined in: packages/core/src/types/policy.ts:120

Parameters

request
headers?
Record<string, string>

Returns

MaybePromise<UserContext | null>
@fentaris/core / LegacyMiddleware
LegacyMiddleware = (request, context, next) => MaybePromise<CallToolResult | void>
Defined in: packages/core/src/types/middleware.ts:247Legacy middleware function signature.

Parameters

request

ToolCallRequest

context

MiddlewareContext

next

Next

Returns

MaybePromise<CallToolResult | void>
@fentaris/core / LifecycleHook
LifecycleHook = (event, context) => MaybePromise<void>
Defined in: packages/core/src/types/middleware.ts:55Hook invoked for proxy lifecycle events.

Parameters

event

LifecycleHookEvent

context

LifecycleHookContext

Returns

MaybePromise<void>
@fentaris/core / LifecycleHookContext
LifecycleHookContext = object
Defined in: packages/core/src/types/middleware.ts:41Lifecycle hook context.

Properties

error?

optional error?: Error
Defined in: packages/core/src/types/middleware.ts:47

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:44

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:48

request?

optional request?: ToolCallRequest
Defined in: packages/core/src/types/middleware.ts:46

sessionId?

optional sessionId?: string
Defined in: packages/core/src/types/middleware.ts:45

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:43

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:42
@fentaris/core / LifecycleHookEvent
LifecycleHookEvent = "sessionStart" | "sessionEnd" | "toolFailure"
Defined in: packages/core/src/types/middleware.ts:35Lifecycle event names emitted by the proxy.
@fentaris/core / ListPromptsParams
ListPromptsParams = ListPromptsRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:36Request/result aliases for MCP server prompt operations.
@fentaris/core / ListPromptsResponse
ListPromptsResponse = ListPromptsResult
Defined in: packages/core/src/types/mcp-operation.ts:37
@fentaris/core / ListResourcesParams
ListResourcesParams = ListResourcesRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:25Request/result aliases for MCP server resource operations.
@fentaris/core / ListResourcesResponse
ListResourcesResponse = ListResourcesResult
Defined in: packages/core/src/types/mcp-operation.ts:26
@fentaris/core / ListResourceTemplatesParams
ListResourceTemplatesParams = ListResourceTemplatesRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:29
@fentaris/core / ListResourceTemplatesResponse
ListResourceTemplatesResponse = ListResourceTemplatesResult
Defined in: packages/core/src/types/mcp-operation.ts:30
@fentaris/core / ListToolsContext
ListToolsContext = object
Defined in: packages/core/src/types/middleware.ts:79Context passed to list tool hooks.

Properties

credentialSources?

optional credentialSources?: CredentialSourceMetadata[]
Defined in: packages/core/src/types/middleware.ts:86

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:82

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:83

policy?

optional policy?: Policy
Defined in: packages/core/src/types/middleware.ts:84

policyDecision?

optional policyDecision?: PolicyDecision
Defined in: packages/core/src/types/middleware.ts:85

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:81

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:80
@fentaris/core / ListToolsHook
ListToolsHook = (tools, context) => MaybePromise<ListToolsResult`“tools”\] \| [ListToolsResult\|void`>
Defined in: packages/core/src/types/middleware.ts:70Hook invoked after upstream tool discovery and before returning tools to the client.

Parameters

tools

ListToolsResult["tools"]

context

ListToolsContext

Returns

MaybePromise<ListToolsResult`“tools”\] \| [ListToolsResult\|void`>
@fentaris/core / ListToolsRequest
ListToolsRequest = Infer<typeof ListToolsRequestSchema>
Defined in: node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts:8086
@fentaris/core / ListToolsResult
ListToolsResult = Infer<typeof ListToolsResultSchema>
Defined in: node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.4.3/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts:8087
@fentaris/core / LocalCompletionHandler
LocalCompletionHandler = (ctx, params) => MaybePromise<CompleteResult>
Defined in: packages/core/src/local/declarations.ts:84Local completion handler.

Parameters

ctx

ProxyContext

params

CompleteRequest["params"]

Returns

MaybePromise<CompleteResult>
@fentaris/core / LocalCompletionReference
LocalCompletionReference = { name: string; type: "ref/prompt"; } | { type: "ref/resource"; uriTemplate: string; }
Defined in: packages/core/src/local/declarations.ts:93Reference used to bind a local completion handler.
@fentaris/core / LocalPromptHandler
LocalPromptHandler = (ctx, params) => MaybePromise<GetPromptResult>
Defined in: packages/core/src/local/declarations.ts:75Local prompt handler.

Parameters

ctx

ProxyContext

params

GetPromptRequest["params"]

Returns

MaybePromise<GetPromptResult>
@fentaris/core / LocalPromptMetadata
LocalPromptMetadata = Omit<Prompt, "name">
Defined in: packages/core/src/local/declarations.ts:51Metadata accepted when declaring a local prompt.
@fentaris/core / LocalResourceHandler
LocalResourceHandler = (ctx, params) => MaybePromise<ReadResourceResult>
Defined in: packages/core/src/local/declarations.ts:66Local resource read handler.

Parameters

ctx

ProxyContext

params

ReadResourceRequest["params"]

Returns

MaybePromise<ReadResourceResult>
@fentaris/core / LocalResourceMetadata
LocalResourceMetadata = Omit<Resource, "uri">
Defined in: packages/core/src/local/declarations.ts:39Metadata accepted when declaring a local exact resource.
@fentaris/core / LocalResourceTemplateMetadata
LocalResourceTemplateMetadata = Omit<ResourceTemplate, "uriTemplate">
Defined in: packages/core/src/local/declarations.ts:45Metadata accepted when declaring a local resource template.
@fentaris/core / LocalToolHandler
LocalToolHandler = (ctx, params) => MaybePromise<CallToolResult>
Defined in: packages/core/src/local/declarations.ts:57Local tool handler.

Parameters

ctx

ProxyContext

params

CallToolRequest["params"]

Returns

MaybePromise<CallToolResult>
@fentaris/core / LocalToolMetadata
LocalToolMetadata = Omit<Tool, "name">
Defined in: packages/core/src/local/declarations.ts:33Metadata accepted when declaring a local tool.
@fentaris/core / MaybePromise
MaybePromise<T> = T | Promise<T>
Defined in: packages/core/src/types/shared.ts:8Maybe a promise for async compatibility.

Type Parameters

T

T
@fentaris/core / McpOperationName
McpOperationName = "tools:list" | "tool:call" | "resources:list" | "resource:read" | "resource-templates:list" | "prompts:list" | "prompt:get" | "completion:complete"
Defined in: packages/core/src/types/mcp-operation.ts:90Governed MCP operation names used by capability permissions.
@fentaris/core / Middleware
Middleware = LegacyMiddleware | ProxyMiddleware
Defined in: packages/core/src/types/middleware.ts:266Middleware function signature.
@fentaris/core / MiddlewareContext
MiddlewareContext = object
Defined in: packages/core/src/types/middleware.ts:217Middleware execution context.

Properties

approval

approval: ApprovalDecisionController
Defined in: packages/core/src/types/middleware.ts:221

credentialSources?

optional credentialSources?: CredentialSourceMetadata[]
Defined in: packages/core/src/types/middleware.ts:228

identity?

optional identity?: IdentityMetadata
Defined in: packages/core/src/types/middleware.ts:220

log

log: Logger
Defined in: packages/core/src/types/middleware.ts:222

policy?

optional policy?: Policy | ProxyPolicyContext
Defined in: packages/core/src/types/middleware.ts:224

policyDecision?

optional policyDecision?: PolicyDecision
Defined in: packages/core/src/types/middleware.ts:225

rateLimiter?

optional rateLimiter?: RateLimiter
Defined in: packages/core/src/types/middleware.ts:227

registry?

optional registry?: Registry
Defined in: packages/core/src/types/middleware.ts:226

res

res: ResponseController
Defined in: packages/core/src/types/middleware.ts:223

subject?

optional subject?: ResolvedSubject
Defined in: packages/core/src/types/middleware.ts:219

user

user: UserContext
Defined in: packages/core/src/types/middleware.ts:218
@fentaris/core / Next
Next = () => Promise<CallToolResult>
Defined in: packages/core/src/types/middleware.ts:235Next middleware handler.

Returns

Promise<CallToolResult>
@fentaris/core / PolicyDecision
PolicyDecision = object
Defined in: packages/core/src/types/policy.ts:49Policy evaluation result.

Properties

allowed

allowed: boolean
Defined in: packages/core/src/types/policy.ts:50

metadata?

optional metadata?: PolicyMetadata & Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:52

reason?

optional reason?: string
Defined in: packages/core/src/types/policy.ts:51
@fentaris/core / PolicyMetadata
PolicyMetadata = object
Defined in: packages/core/src/types/shared.ts:70Effective policy metadata safe to expose in middleware and logs.

Properties

approval?

optional approval?: ApprovalMetadata
Defined in: packages/core/src/types/shared.ts:85

denialReason?

optional denialReason?: string
Defined in: packages/core/src/types/shared.ts:84

matchedGroups?

optional matchedGroups?: string[]
Defined in: packages/core/src/types/shared.ts:72

matchedPermissions?

optional matchedPermissions?: object[]
Defined in: packages/core/src/types/shared.ts:73

effect

effect: "allow" | "deny"

groupId?

optional groupId?: string

metadata?

optional metadata?: Record<string, unknown>

operation

operation: McpOperationName

policyName

policyName: string

serverName

serverName: string

target?

optional target?: string

targetKind?

optional targetKind?: CapabilityTargetKind

toolName?

optional toolName?: string

policyName?

optional policyName?: string
Defined in: packages/core/src/types/shared.ts:71
@fentaris/core / ProxyAuthContext
ProxyAuthContext = object
Defined in: packages/core/src/types/proxy.ts:92Normalized authentication metadata exposed through the unified context.

Properties

authenticated

authenticated: boolean
Defined in: packages/core/src/types/proxy.ts:94

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/proxy.ts:96

strategy?

optional strategy?: string
Defined in: packages/core/src/types/proxy.ts:93

userId?

optional userId?: string
Defined in: packages/core/src/types/proxy.ts:95
@fentaris/core / ProxyCompletionContext
ProxyCompletionContext = object
Defined in: packages/core/src/types/proxy.ts:156Selected completion metadata.

Properties

argumentName

argumentName: string
Defined in: packages/core/src/types/proxy.ts:160

proxyTarget?

optional proxyTarget?: string
Defined in: packages/core/src/types/proxy.ts:159

refType

refType: "ref/prompt" | "ref/resource"
Defined in: packages/core/src/types/proxy.ts:157

target

target: string
Defined in: packages/core/src/types/proxy.ts:158
@fentaris/core / ProxyContext
ProxyContext = MiddlewareContext & object
Defined in: packages/core/src/types/proxy.ts:167Unified context for new proxy middleware, routes, and events.

Type Declaration

args?

optional args?: CallToolRequest["params"]["arguments"]

auth

auth: ProxyAuthContext

completion?

optional completion?: ProxyCompletionContext

credentials

credentials: object

credentials.sources

sources: CredentialSourceMetadata[]

execution?

optional execution?: ProxyExecutionContext

operation

operation: ProxyOperation

policy

policy: ProxyPolicyContext

prompt?

optional prompt?: ProxyPromptContext

raw?

optional raw?: CallToolRequest`“params”\] \| CompleteRequest\[”params”\] \| GetPromptRequest\[”params”\] \| ListPromptsRequest\[”params”\] \| ListResourcesRequest\[”params”\] \| ListResourceTemplatesRequest\[”params”\] \| [ListToolsRequest\[”params”\] \| ReadResourceRequest\[”params”`]

requestId?

optional requestId?: string

resource?

optional resource?: ProxyResourceContext

response

response: ResponseController

server?

optional server?: ProxyServerContext

state

state: Record<string, unknown>

tool?

optional tool?: ProxyToolContext

transport

transport: ProxyTransportContext

continue()

continue(): undefined

Returns

undefined

deny()

deny(message): object

Parameters

message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

error()

error(code, message): object

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

fail()

fail(code, message): object

Parameters

code
number
message
string

Returns

object
_meta?
optional _meta?: z.ZodOptional<z.ZodObject<{ io.modelcontextprotocol/related-task: z.ZodOptional<z.ZodObject<{ taskId: z.ZodString; }, z.core.$strip>>; progressToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; }, z.core.$loose>>
content
content: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; text: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; data: z.ZodString; mimeType: z.ZodString; type: z.ZodLiteral<…>; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; description: z.ZodOptional<…>; icons: z.ZodOptional<…>; mimeType: z.ZodOptional<…>; name: z.ZodString; size: z.ZodOptional<…>; title: z.ZodOptional<…>; type: z.ZodLiteral<…>; uri: z.ZodString; }, z.core.$strip>, z.ZodObject<{ _meta: z.ZodOptional<…>; annotations: z.ZodOptional<…>; resource: z.ZodUnion<…>; type: z.ZodLiteral<…>; }, z.core.$strip>]>>>
isError?
optional isError?: z.ZodOptional<z.ZodBoolean>
structuredContent?
optional structuredContent?: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>

inject()

inject(message): void

Parameters

message
string

Returns

void
@fentaris/core / ProxyEventFilter
ProxyEventFilter = object
Defined in: packages/core/src/types/proxy.ts:248Filter for unified proxy events.

Properties

group?

optional group?: string
Defined in: packages/core/src/types/proxy.ts:250

proxyTool?

optional proxyTool?: string
Defined in: packages/core/src/types/proxy.ts:252

server?

optional server?: string
Defined in: packages/core/src/types/proxy.ts:249

tool?

optional tool?: string
Defined in: packages/core/src/types/proxy.ts:251
@fentaris/core / ProxyEventHandler
ProxyEventHandler = (payload) => MaybePromise<ListToolsResult`“tools”\] \| [ListToolsResult\|void`>
Defined in: packages/core/src/types/proxy.ts:272Unified event handler.

Parameters

payload

ProxyEventPayload

Returns

MaybePromise<ListToolsResult`“tools”\] \| [ListToolsResult\|void`>
@fentaris/core / ProxyEventName
ProxyEventName = "session:start" | "session:end" | "tools:list:after" | "tool:start" | "tool:success" | "tool:error" | "tool:after" | "resource:start" | "resource:success" | "resource:error" | "resource:after" | "prompt:start" | "prompt:success" | "prompt:error" | "prompt:after" | "completion:start" | "completion:success" | "completion:error" | "completion:after"
Defined in: packages/core/src/types/proxy.ts:223Unified event names emitted by the proxy runtime.
@fentaris/core / ProxyEventPayload
ProxyEventPayload = object
Defined in: packages/core/src/types/proxy.ts:259Unified event payload.

Properties

ctx

ctx: ProxyContext
Defined in: packages/core/src/types/proxy.ts:260

durationMs?

optional durationMs?: number
Defined in: packages/core/src/types/proxy.ts:264

error?

optional error?: Error
Defined in: packages/core/src/types/proxy.ts:263

result?

optional result?: ProxyOperationResult
Defined in: packages/core/src/types/proxy.ts:262

success?

optional success?: boolean
Defined in: packages/core/src/types/proxy.ts:265

tools?

optional tools?: ListToolsResult["tools"]
Defined in: packages/core/src/types/proxy.ts:261
@fentaris/core / ProxyExecutionContext
ProxyExecutionContext = { deploymentId: string; kind: "cloud"; targetName: string; } | { deploymentId: string; kind: "edge-cache"; targetName: string; tenantId: string; } | { connectionGeneration: number; deploymentId: string; edgeNodeId: string; kind: "edge"; reused: boolean; targetName: string; }
Defined in: packages/core/src/types/proxy.ts:67Selected execution target and pinned edge route for one operation.
@fentaris/core / ProxyExposureHandle
ProxyExposureHandle = object
Defined in: packages/core/src/types/proxy.ts:351Active downstream proxy exposure handle.

Methods

close()

close(): Promise<void>
Defined in: packages/core/src/types/proxy.ts:352

Returns

Promise<void>
@fentaris/core / ProxyExposureTransport
ProxyExposureTransport<THandle> = object
Defined in: packages/core/src/types/proxy.ts:386Transport interface for exposing the Fentaris proxy to downstream MCP clients.

Type Parameters

THandle

THandle extends ProxyExposureHandle = ProxyExposureHandle

Methods

listen()

listen(runtime): Promise<THandle>
Defined in: packages/core/src/types/proxy.ts:387

Parameters

runtime
ProxyRuntime

Returns

Promise<THandle>
@fentaris/core / ProxyGroupHandle
ProxyGroupHandle = object
Defined in: packages/core/src/types/proxy.ts:334Scoped group handle returned by proxy.group(id).

Properties

id

readonly id: string
Defined in: packages/core/src/types/proxy.ts:335

Methods

mcp()

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:336

Parameters

name
string

Returns

ProxyMcpHandle

on()

Call Signature

on(eventName, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:343
Parameters
eventName
ProxyEventName
handler
ProxyEventHandler
Returns
ProxyGroupHandle

Call Signature

on(eventName, filter, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:344
Parameters
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
ProxyGroupHandle

operation()

operation(operation, handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:342

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

ProxyGroupHandle

policy()

policy(policyNameOrPolicy): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:339

Parameters

policyNameOrPolicy
string | Policy

Returns

ProxyGroupHandle

server()

server(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:337

Parameters

name
string

Returns

ProxyMcpHandle

use()

Call Signature

use(handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:340
Parameters
handler
ProxyMiddleware
Returns
ProxyGroupHandle

Call Signature

use(handler): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:341
Parameters
handler
LegacyMiddleware
Returns
ProxyGroupHandle

users()

users(…users): ProxyGroupHandle
Defined in: packages/core/src/types/proxy.ts:338

Parameters

users
User[]

Returns

ProxyGroupHandle
@fentaris/core / ProxyHookEvent
ProxyHookEvent = "call"
Defined in: packages/core/src/types/middleware.ts:29Event names supported by the proxy hook system.
@fentaris/core / ProxyLocalHandle
ProxyLocalHandle = object
Defined in: packages/core/src/local/declarations.ts:101Handle returned by app.local(name) for declaring local MCP capabilities.

Properties

name

readonly name: string
Defined in: packages/core/src/local/declarations.ts:102

Methods

completion()

completion(ref, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:107

Parameters

ref
LocalCompletionReference
handler
LocalCompletionHandler

Returns

ProxyLocalHandle

prompt()

prompt(name, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:106

Parameters

name
string
metadata
LocalPromptMetadata
handler
LocalPromptHandler

Returns

ProxyLocalHandle

resource()

resource(uri, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:104

Parameters

uri
string
metadata
LocalResourceMetadata
handler
LocalResourceHandler

Returns

ProxyLocalHandle

resourceTemplate()

resourceTemplate(uriTemplate, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:105

Parameters

uriTemplate
string
metadata
LocalResourceTemplateMetadata
handler
LocalResourceHandler

Returns

ProxyLocalHandle

tool()

tool(name, metadata, handler): ProxyLocalHandle
Defined in: packages/core/src/local/declarations.ts:103

Parameters

name
string
metadata
LocalToolMetadata
handler
LocalToolHandler

Returns

ProxyLocalHandle
@fentaris/core / ProxyMcpDeclarationConfig
ProxyMcpDeclarationConfig = McpServerOptions
Defined in: packages/core/src/types/proxy.ts:380Config object for declaring an upstream MCP server through proxy.mcp(config).
@fentaris/core / ProxyMcpDeclarationOptions
ProxyMcpDeclarationOptions = Omit<McpServerOptions, "name">
Defined in: packages/core/src/types/proxy.ts:374Options for declaring an upstream MCP server through proxy.mcp(name, options).
@fentaris/core / ProxyMcpHandle
ProxyMcpHandle = object
Defined in: packages/core/src/types/proxy.ts:280Scoped upstream MCP handle returned by proxy.mcp(name) or proxy.server(name).

Properties

name

readonly name: string
Defined in: packages/core/src/types/proxy.ts:281

Methods

health()

health(): Promise<HealthCheckResult>
Defined in: packages/core/src/types/proxy.ts:301

Returns

Promise<HealthCheckResult>

on()

Call Signature

on(eventName, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:286
Parameters
eventName
ProxyEventName
handler
ProxyEventHandler
Returns
ProxyMcpHandle

Call Signature

on(eventName, filter, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:287
Parameters
eventName
ProxyEventName
filter
ProxyEventFilter
handler
ProxyEventHandler
Returns
ProxyMcpHandle

operation()

operation(operation, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:285

Parameters

operation
ProxyOperation
handler
ProxyMiddleware

Returns

ProxyMcpHandle

ping()

ping(): Promise<HealthCheckResult>
Defined in: packages/core/src/types/proxy.ts:300

Returns

Promise<HealthCheckResult>

setup()

setup(schema): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:293Declare the setup schema describing runtime references required to launch this MCP. Target bindings do not grant MCP access.

Parameters

schema
SetupSchema | Record<string, SetupFieldDescriptor>

Returns

ProxyMcpHandle

target()

target(targetName): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:299Bind this MCP to a named execution target for the current scope (global, group, or user). "cloud" is the implicit built-in target.

Parameters

targetName
string

Returns

ProxyMcpHandle

tool()

tool(pattern, handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:284

Parameters

pattern
string
handler
ProxyMiddleware

Returns

ProxyMcpHandle

use()

Call Signature

use(handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:282
Parameters
handler
ProxyMiddleware
Returns
ProxyMcpHandle

Call Signature

use(handler): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:283
Parameters
handler
LegacyMiddleware
Returns
ProxyMcpHandle
@fentaris/core / ProxyMiddleware
ProxyMiddleware = (context, next) => MaybePromise<ProxyOperationResult | void>
Defined in: packages/core/src/types/middleware.ts:257Express-like middleware function signature.

Parameters

context

ProxyContext

next

ProxyNext

Returns

MaybePromise<ProxyOperationResult | void>
@fentaris/core / ProxyNext
ProxyNext = () => Promise<ProxyOperationResult>
Defined in: packages/core/src/types/middleware.ts:241Next handler for unified proxy middleware.

Returns

Promise<ProxyOperationResult>
@fentaris/core / ProxyOperation
ProxyOperation = "tool:call" | "tools:list" | "resources:list" | "resource:read" | "resource-templates:list" | "prompts:list" | "prompt:get" | "completion:complete" | "session:start" | "session:end"
Defined in: packages/core/src/types/mcp-operation.ts:74Operation names handled by the unified proxy context.
@fentaris/core / ProxyOperationHandler
ProxyOperationHandler = ProxyMiddleware
Defined in: packages/core/src/types/proxy.ts:211Express-like handler for a governed MCP operation route.
@fentaris/core / ProxyOperationResult
ProxyOperationResult = CallToolResult | CompleteResult | GetPromptResult | ListPromptsResult | ListResourcesResult | ListResourceTemplatesResult | ListToolsResult | ReadResourceResult
Defined in: packages/core/src/types/mcp-operation.ts:122Result shapes returned by governed proxy operation handlers.
@fentaris/core / ProxyPolicyContext
ProxyPolicyContext = object
Defined in: packages/core/src/types/proxy.ts:103Structured policy metadata exposed through the unified context.

Properties

allowed?

optional allowed?: boolean
Defined in: packages/core/src/types/proxy.ts:104

decision?

optional decision?: PolicyDecision
Defined in: packages/core/src/types/proxy.ts:110

matchedGroups

matchedGroups: string[]
Defined in: packages/core/src/types/proxy.ts:106

matchedPermissions

matchedPermissions: NonNullable<PolicyMetadata["matchedPermissions"]>
Defined in: packages/core/src/types/proxy.ts:107

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/proxy.ts:108

policy?

optional policy?: Policy
Defined in: packages/core/src/types/proxy.ts:109

reason?

optional reason?: string
Defined in: packages/core/src/types/proxy.ts:105

Methods

can()

can(server, tool): MaybePromise<boolean>
Defined in: packages/core/src/types/proxy.ts:111

Parameters

server
string
tool
string

Returns

MaybePromise<boolean>
@fentaris/core / ProxyPromptContext
ProxyPromptContext = object
Defined in: packages/core/src/types/proxy.ts:147Selected prompt metadata.

Properties

name

name: string
Defined in: packages/core/src/types/proxy.ts:148

proxyName

proxyName: string
Defined in: packages/core/src/types/proxy.ts:149
@fentaris/core / ProxyResourceContext
ProxyResourceContext = object
Defined in: packages/core/src/types/proxy.ts:136Selected resource metadata.

Properties

proxyUri?

optional proxyUri?: string
Defined in: packages/core/src/types/proxy.ts:138

proxyUriTemplate?

optional proxyUriTemplate?: string
Defined in: packages/core/src/types/proxy.ts:140

uri?

optional uri?: string
Defined in: packages/core/src/types/proxy.ts:137

uriTemplate?

optional uriTemplate?: string
Defined in: packages/core/src/types/proxy.ts:139
@fentaris/core / ProxyRuntime
ProxyRuntime = object
Defined in: packages/core/src/types/proxy.ts:359Runtime operations shared by downstream proxy exposure transports.

Properties

identityRequired

identityRequired: boolean
Defined in: packages/core/src/types/proxy.ts:367

logger

logger: Logger
Defined in: packages/core/src/types/proxy.ts:366

Methods

createSdkServer()

createSdkServer(user?, identity?, subject?): unknown
Defined in: packages/core/src/types/proxy.ts:360

Parameters

user?
UserContext
identity?
IdentityMetadata
subject?
ResolvedSubject

Returns

unknown

emitRuntimeEvent()

emitRuntimeEvent(event): Promise<void>
Defined in: packages/core/src/types/proxy.ts:365

Parameters

event
RuntimeEvent

Returns

Promise<void>

emitSessionEnd()

emitSessionEnd(context): Promise<void>
Defined in: packages/core/src/types/proxy.ts:364

Parameters

context
LifecycleHookContext

Returns

Promise<void>

emitSessionStart()

emitSessionStart(context): Promise<void>
Defined in: packages/core/src/types/proxy.ts:363

Parameters

context
LifecycleHookContext

Returns

Promise<void>

resolveHttpUser()

resolveHttpUser(request): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/types/proxy.ts:361

Parameters

request
unknown

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>

resolveStdioUser()

resolveStdioUser(): Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
Defined in: packages/core/src/types/proxy.ts:362

Returns

Promise<{ identity?: IdentityMetadata; subject?: ResolvedSubject; user: UserContext; }>
@fentaris/core / ProxyServerContext
ProxyServerContext = object
Defined in: packages/core/src/types/proxy.ts:118Selected upstream server metadata.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/proxy.ts:120

name

name: string
Defined in: packages/core/src/types/proxy.ts:119
@fentaris/core / ProxySubjectContext
ProxySubjectContext = ResolvedSubject
Defined in: packages/core/src/types/shared.ts:106Structured subject metadata exposed through the unified context.
@fentaris/core / ProxyToolContext
ProxyToolContext = object
Defined in: packages/core/src/types/proxy.ts:127Selected tool metadata.

Properties

name

name: string
Defined in: packages/core/src/types/proxy.ts:128

proxyName

proxyName: string
Defined in: packages/core/src/types/proxy.ts:129
@fentaris/core / ProxyToolHandler
ProxyToolHandler = ProxyMiddleware
Defined in: packages/core/src/types/proxy.ts:205Express-like tool route handler signature.
@fentaris/core / ProxyToolPattern
ProxyToolPattern = string
Defined in: packages/core/src/types/proxy.ts:217Public tool pattern using server.tool dot notation and * wildcards.
@fentaris/core / ProxyTransportContext
ProxyTransportContext = object
Defined in: packages/core/src/types/proxy.ts:56Safe downstream transport metadata attached to a proxy operation.

Properties

deadline?

optional deadline?: number
Defined in: packages/core/src/types/proxy.ts:61Absolute epoch deadline propagated to upstream/edge execution.

requestId?

optional requestId?: string
Defined in: packages/core/src/types/proxy.ts:59

sessionId?

optional sessionId?: string
Defined in: packages/core/src/types/proxy.ts:58

signal?

optional signal?: AbortSignal
Defined in: packages/core/src/types/proxy.ts:63Downstream cancellation signal propagated to upstream/edge execution.

type?

optional type?: "http" | "stdio" | "sse" | "unknown"
Defined in: packages/core/src/types/proxy.ts:57
@fentaris/core / ProxyUserHandle
ProxyUserHandle = object
Defined in: packages/core/src/types/proxy.ts:309Scoped user handle returned by proxy.user(id). Records placement bindings without creating or authenticating a subject.

Properties

id

readonly id: string
Defined in: packages/core/src/types/proxy.ts:310

Methods

mcp()

mcp(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:312Register or retrieve a scoped upstream MCP handle for this user.

Parameters

name
string

Returns

ProxyMcpHandle

server()

server(name): ProxyMcpHandle
Defined in: packages/core/src/types/proxy.ts:314Alias for mcp(name).

Parameters

name
string

Returns

ProxyMcpHandle
@fentaris/core / ReadResourceParams
ReadResourceParams = ReadResourceRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:27
@fentaris/core / ReadResourceResponse
ReadResourceResponse = ReadResourceResult
Defined in: packages/core/src/types/mcp-operation.ts:28
@fentaris/core / ResolvedSubject
ResolvedSubject = object
Defined in: packages/core/src/types/shared.ts:92Authenticated subject resolved from user and group declarations.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/shared.ts:94

email?

optional email?: string
Defined in: packages/core/src/types/shared.ts:95

groups

groups: GroupMembership[]
Defined in: packages/core/src/types/shared.ts:98

id

id: string
Defined in: packages/core/src/types/shared.ts:93

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:96

tenant?

optional tenant?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:97

Methods

hasGroup()

hasGroup(groupId): boolean
Defined in: packages/core/src/types/shared.ts:99

Parameters

groupId
string

Returns

boolean
@fentaris/core / RuntimeLifecycle
RuntimeLifecycle = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:44

Methods

health()

health(): Promise<HealthReport>
Defined in: packages/core/src/lifecycle/lifecycle.ts:49

Returns

Promise<HealthReport>

ready()

ready(options?): Promise<RuntimeLifecycleSnapshot>
Defined in: packages/core/src/lifecycle/lifecycle.ts:46

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<RuntimeLifecycleSnapshot>

start()

start(options?): Promise<unknown>
Defined in: packages/core/src/lifecycle/lifecycle.ts:45

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<unknown>

state()

state(): RuntimeLifecycleSnapshot
Defined in: packages/core/src/lifecycle/lifecycle.ts:48

Returns

RuntimeLifecycleSnapshot

stop()

stop(options?): Promise<void>
Defined in: packages/core/src/lifecycle/lifecycle.ts:47

Parameters

options?
RuntimeLifecycleOptions

Returns

Promise<void>
@fentaris/core / RuntimeLifecycleMetadata
RuntimeLifecycleMetadata = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:13

Properties

failure?

optional failure?: object
Defined in: packages/core/src/lifecycle/lifecycle.ts:19

code?

optional code?: string

message

message: string

name

name: string

lastTransitionAt

lastTransitionAt: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:18

name

name: string
Defined in: packages/core/src/lifecycle/lifecycle.ts:14

startedAt?

optional startedAt?: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:16

stoppedAt?

optional stoppedAt?: Date
Defined in: packages/core/src/lifecycle/lifecycle.ts:17

version

version: string
Defined in: packages/core/src/lifecycle/lifecycle.ts:15
@fentaris/core / RuntimeLifecycleOptions
RuntimeLifecycleOptions = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:31

Properties

shutdownTimeoutMs?

optional shutdownTimeoutMs?: number
Defined in: packages/core/src/lifecycle/lifecycle.ts:33

startupTimeoutMs?

optional startupTimeoutMs?: number
Defined in: packages/core/src/lifecycle/lifecycle.ts:32
@fentaris/core / RuntimeLifecycleSnapshot
RuntimeLifecycleSnapshot = object
Defined in: packages/core/src/lifecycle/lifecycle.ts:26

Properties

metadata

metadata: RuntimeLifecycleMetadata
Defined in: packages/core/src/lifecycle/lifecycle.ts:28

state

state: RuntimeLifecycleState
Defined in: packages/core/src/lifecycle/lifecycle.ts:27
@fentaris/core / RuntimeLifecycleState
RuntimeLifecycleState = "created" | "starting" | "ready" | "degraded" | "stopping" | "stopped" | "failed"
Defined in: packages/core/src/lifecycle/lifecycle.ts:4
@fentaris/core / SubjectMetadata
SubjectMetadata = object
Defined in: packages/core/src/types/shared.ts:25Non-sensitive subject metadata declared in application code.

Properties

displayName?

optional displayName?: string
Defined in: packages/core/src/types/shared.ts:26

email?

optional email?: string
Defined in: packages/core/src/types/shared.ts:27

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:30

tenant?

optional tenant?: Record<string, unknown>
Defined in: packages/core/src/types/shared.ts:29

tenantId?

optional tenantId?: string
Defined in: packages/core/src/types/shared.ts:28
@fentaris/core / ToolApprovalRequest
ToolApprovalRequest = ToolCallRequest & object
Defined in: packages/core/src/types/mcp-operation.ts:64Normalized tool-call request passed to approval callbacks.

Type Declaration

operation

operation: "tool:call"

target

target: string

targetKind

targetKind: "tool"
@fentaris/core / ToolCallHook
ToolCallHook = (request, context) => MaybePromise<void | CallToolResult>
Defined in: packages/core/src/types/middleware.ts:61Hook invoked for matched tool calls.

Parameters

request

ToolCallRequest

context

MiddlewareContext

Returns

MaybePromise<void | CallToolResult>
@fentaris/core / ToolCallHookFilter
ToolCallHookFilter = object
Defined in: packages/core/src/types/middleware.ts:19Filter for proxy call hooks.

Properties

proxyTool?

optional proxyTool?: string
Defined in: packages/core/src/types/middleware.ts:22

server?

optional server?: string
Defined in: packages/core/src/types/middleware.ts:20

tool?

optional tool?: string
Defined in: packages/core/src/types/middleware.ts:21
@fentaris/core / ToolCallRequest
ToolCallRequest = object
Defined in: packages/core/src/types/mcp-operation.ts:52Normalized tool call details for middleware.

Properties

arguments

arguments: CallToolRequest["params"]["arguments"]
Defined in: packages/core/src/types/mcp-operation.ts:56

proxyToolName

proxyToolName: string
Defined in: packages/core/src/types/mcp-operation.ts:55

raw

raw: CallToolRequest["params"]
Defined in: packages/core/src/types/mcp-operation.ts:57

serverName

serverName: string
Defined in: packages/core/src/types/mcp-operation.ts:53

toolName

toolName: string
Defined in: packages/core/src/types/mcp-operation.ts:54
@fentaris/core / ToolPermission
ToolPermission = object
Defined in: packages/core/src/types/policy.ts:22Tool permission model for policy enforcement.

Properties

approval?

optional approval?: ApprovalHandler<ToolApprovalRequest>
Defined in: packages/core/src/types/policy.ts:26

effect?

optional effect?: "allow" | "deny"
Defined in: packages/core/src/types/policy.ts:24

limiter?

optional limiter?: RateLimiter
Defined in: packages/core/src/types/policy.ts:25

metadata?

optional metadata?: Record<string, unknown>
Defined in: packages/core/src/types/policy.ts:27

tool

tool: string
Defined in: packages/core/src/types/policy.ts:23
@fentaris/core / UserContext
UserContext = object
Defined in: packages/core/src/types/shared.ts:14User context passed through requests.

Indexable

[key: string]: unknown

Properties

id?

optional id?: string
Defined in: packages/core/src/types/shared.ts:15

secrets?

optional secrets?: Record<string, string>
Defined in: packages/core/src/types/shared.ts:16

tokens?

optional tokens?: Record<string, string>
Defined in: packages/core/src/types/shared.ts:17

Name mapping

@fentaris/core / assertValidServerName
assertValidServerName(name): void
Defined in: nameMapping.ts:14Validate that a server name is safe to use in proxied tool names.

Parameters

name

string

Returns

void
@fentaris/core / fromProxyPromptName
fromProxyPromptName(proxyPromptName): object
Defined in: nameMapping.ts:57Split a proxied prompt name into server and upstream prompt parts.

Parameters

proxyPromptName

string

Returns

object

promptName

promptName: string

serverName

serverName: string
@fentaris/core / fromProxyResourceTemplateUri
fromProxyResourceTemplateUri(proxyUriTemplate): object
Defined in: nameMapping.ts:97Parse a Fentaris-owned resource template URI back to its upstream owner and template.

Parameters

proxyUriTemplate

string

Returns

object

serverName

serverName: string

uriTemplate

uriTemplate: string
@fentaris/core / fromProxyResourceUri
fromProxyResourceUri(proxyUri): object
Defined in: nameMapping.ts:77Parse a Fentaris-owned resource URI back to its upstream owner and URI.

Parameters

proxyUri

string

Returns

object

serverName

serverName: string

uri

uri: string
@fentaris/core / fromProxyToolName
fromProxyToolName(proxyToolName): object
Defined in: nameMapping.ts:37Split a proxied tool name into server and tool parts.

Parameters

proxyToolName

string

Returns

object

serverName

serverName: string

toolName

toolName: string
@fentaris/core / toProxyPromptName
toProxyPromptName(serverName, promptName): string
Defined in: nameMapping.ts:49Combine server and prompt names into a proxied prompt name.

Parameters

serverName

string

promptName

string

Returns

string
@fentaris/core / toProxyResourceTemplateUri
toProxyResourceTemplateUri(serverName, uriTemplate): string
Defined in: nameMapping.ts:89Build a Fentaris-owned URI template for routing a proxied MCP resource template.

Parameters

serverName

string

uriTemplate

string

Returns

string
@fentaris/core / toProxyResourceUri
toProxyResourceUri(serverName, uri): string
Defined in: nameMapping.ts:69Build a Fentaris-owned URI for routing a proxied MCP resource.

Parameters

serverName

string

uri

string

Returns

string
@fentaris/core / toProxyToolName
toProxyToolName(serverName, toolName): string
Defined in: nameMapping.ts:28Combine server and tool names into a proxied tool name.

Parameters

serverName

string

toolName

string

Returns

string