AIDK API Reference / aidk-kernel / WithProcedures
Type Alias: WithProcedures<T> ​
ts
type WithProcedures<T> = { [K in keyof T]: T[K] extends (args: any[]) => any ? AsProcedure<T[K]> : T[K] };Defined in: packages/kernel/src/procedure.ts:541
Helper type to transform all methods in a class to Procedures.
Primary Use Case: Use with decorators when you need IntelliSense.
typescript
class Model {
@procedure()
async execute(input: string): Promise<string> { ... }
}
// Most of the time - runtime works perfectly, no types needed
const model = new Model();
await model.execute('test'); // ✅ Works
// When you need IntelliSense - cast once
const typedModel = model as WithProcedures<Model>;
typedModel.execute.use(...); // ✅ Full IntelliSense
typedModel.execute.withHandle(); // ✅ Full IntelliSenseAlternative: Use property initializers for full types everywhere:
typescript
class Model {
execute = createProcedure(async (input: string) => input);
// ✅ Full types always, but more verbose
}Type Parameters ​
| Type Parameter |
|---|
T |