Documentation / @agentick/core / AgentickInstance
Class: AgentickInstance ​
Defined in: core/src/agentick-instance.ts:653
Agentick configuration instance.
Users interact with instances, never the class directly. Agentick is the default global instance.
Implements ​
MiddlewareRegistry
Constructors ​
Constructor ​
new AgentickInstance(
options?):AgentickInstance
Defined in: core/src/agentick-instance.ts:700
Internal
Parameters ​
options? ​
telemetryProvider? ​
Returns ​
AgentickInstance
Properties ​
run ​
readonlyrun:Procedure<RunHandler,true>
Defined in: core/src/agentick-instance.ts:695
One-shot execution of a JSX component.
Accepts a JSX element and optional RunInput. Creates a temporary app and session, runs to completion, then cleans up.
Prop merging: Element props are defaults, input.props override them. { ...element.props, ...input.props } — so <Agent query="default" /> with { props: { query: "override" } } uses "override".
Returns SessionExecutionHandle (AsyncIterable, not PromiseLike):
await run(...).result→ SendResultfor await (const event of await run(...))→ StreamEvent
Examples ​
const result = await Agentick.run(
<MyAgent />,
{ messages: [{ role: "user", content: [...] }], model }
).result;const handle = await Agentick.run(<MyAgent />, { messages, model });
for await (const event of handle) {
if (event.type === 'content_delta') {
process.stdout.write(event.delta);
}
}const loggedRun = Agentick.run.use(loggingMiddleware);
const result = await loggedRun(<MyAgent />, { messages, model }).result;Accessors ​
telemetryProvider ​
Get Signature ​
get telemetryProvider():
TelemetryProvider|undefined
Defined in: core/src/agentick-instance.ts:806
Get the telemetry provider.
Returns ​
TelemetryProvider | undefined
Set Signature ​
set telemetryProvider(
provider):void
Defined in: core/src/agentick-instance.ts:813
Set the telemetry provider.
Parameters ​
provider ​
TelemetryProvider | undefined
Returns ​
void
Methods ​
clear() ​
clear():
this
Defined in: core/src/agentick-instance.ts:798
Clear all registered middleware. Useful for testing or resetting state.
Returns ​
this
create() ​
create(
options?):AgentickInstance
Defined in: core/src/agentick-instance.ts:837
Create a child instance.
By default, the child inherits all middleware from this instance. Use inheritDefaults: false for a completely isolated instance.
Parameters ​
options? ​
AgentickInstanceCreateOptions = {}
Instance options
Returns ​
AgentickInstance
A new AgentickInstance
Example ​
// Create scoped instance that inherits global middleware
const scoped = Agentick.create();
scoped.use('model:generate', rateLimitMiddleware);
const app = scoped.createApp(MyAgent);
// Create isolated instance (no inheritance)
const isolated = Agentick.create({ inheritDefaults: false });createApp() ​
createApp<
P>(Component,options?):App<P>
Defined in: core/src/agentick-instance.ts:880
Create an app from a component function.
The app inherits middleware from this Agentick instance.
Type Parameters ​
P ​
P
Parameters ​
Component ​
The component function that defines the Model Interface
options? ​
AppOptions = {}
App configuration options
Returns ​
App<P>
An App instance with run, send, and session methods
Example ​
const MyAgent = ({ query }) => (
<>
<System>You are helpful.</System>
<Timeline />
<User>{query}</User>
</>
);
// Use global Agentick
const app = createApp(MyAgent, { model });
// Use scoped instance
const scoped = Agentick.create();
scoped.use('tool:*', authMiddleware);
const scopedApp = scoped.createApp(MyAgent, { model });getMiddlewareFor() ​
getMiddlewareFor(
procedureName):Middleware[]
Defined in: core/src/agentick-instance.ts:772
Get middleware matching a procedure name.
Resolution order:
- Global ('*')
- Category wildcard (e.g., 'tool:*' matches 'tool:run')
- Exact match (e.g., 'tool:run')
Parameters ​
procedureName ​
string
The procedure name to match (e.g., 'tool:run', 'model:generate')
Returns ​
Array of middleware functions in execution order
Implementation of ​
MiddlewareRegistry.getMiddlewareFor
use() ​
use(
key, ...middleware):this
Defined in: core/src/agentick-instance.ts:755
Register middleware for a procedure pattern.
Keys can be:
'*'- all procedures'tool:*'- all tool procedures (tool:run, etc.)'model:*'- all model procedures (model:generate, model:stream)'tool:run'- specific procedure name'model:generate'- specific procedure name
Middleware is executed in order: global → category → specific
Parameters ​
key ​
string
Procedure pattern to match
middleware ​
...Middleware[]
Middleware functions to register
Returns ​
this
this for chaining
Example ​
Agentick
.use('*', loggingMiddleware)
.use('tool:*', authMiddleware)
.use('model:generate', rateLimitMiddleware);