Skip to content

AIDK API Reference / aidk-kernel / ProcedureOptions

Interface: ProcedureOptions ​

Defined in: packages/kernel/src/procedure.ts:188

Configuration options for creating a procedure.

Example ​

typescript
const proc = createProcedure({
  name: 'myProcedure',
  schema: z.object({ input: z.string() }),
  middleware: [loggingMiddleware],
  timeout: 5000,
}, async ({ input }) => input.toUpperCase());

See ​

createProcedure - Create a procedure with these options

Properties ​

PropertyTypeDescriptionDefined in
executionBoundary?ExecutionBoundaryConfigDeclarative execution boundary configuration. - 'always': Always create a new root execution (engine:execute, engine:stream) - 'child': Always create a new child execution (component_tool, fork, spawn) - 'auto': Create only if not already in an execution (model:generate, model:stream) - false: Never create an execution boundary (compile:tick, internal procedures) Default 'auto'packages/kernel/src/procedure.ts:228
executionType?stringExplicit execution type (e.g., 'engine', 'model', 'component_tool', 'fork', 'spawn'). If not provided, derived from procedure name. Only used when this procedure becomes an execution boundary.packages/kernel/src/procedure.ts:235
handleFactory?HandleFactory<ExecutionHandle<any>, KernelContext>Custom factory for creating execution handlespackages/kernel/src/procedure.ts:194
metadata?Record<string, any>Metadata for telemetry span attributes (e.g., { type: 'tool', id: 'myTool' })packages/kernel/src/procedure.ts:204
middleware?( | Middleware<any[]> | MiddlewarePipeline)[]Middleware pipeline to apply to this procedurepackages/kernel/src/procedure.ts:192
name?stringName of the procedure (used in telemetry and logging)packages/kernel/src/procedure.ts:190
parentProcedure?stringParent procedure name (for hooks)packages/kernel/src/procedure.ts:198
schema?ZodType<any, unknown, $ZodTypeInternals<any, unknown>>Zod schema for input validationpackages/kernel/src/procedure.ts:196
timeout?numberTimeout in milliseconds. If exceeded, throws AbortError.timeout()packages/kernel/src/procedure.ts:206

Released under the MIT License.