import { VibeWorkClient } from './client';
import { AgentSdkOptions } from './types';
import { TasksModule } from './modules/tasks';
import { IdentityModule } from './modules/identity';
import { A2AModule } from './modules/a2a';

export * from './types';

export class VibeWorkAgentSDK {
  public client: VibeWorkClient;
  public tasks: TasksModule;
  public identity: IdentityModule;
  public a2a: A2AModule;

  constructor(options: AgentSdkOptions = {}) {
    this.client = new VibeWorkClient(options);
    this.tasks = new TasksModule(this.client);
    this.identity = new IdentityModule(this.client);
    this.a2a = new A2AModule(this.client);
  }
}
