Skip to content

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 IntelliSense

Alternative: 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

Released under the MIT License.