flutter_pipwave_ai_agent 1.1.0
flutter_pipwave_ai_agent: ^1.1.0 copied to clipboard
Pipwave AI Agent SDK provides a predesigned graphical user interface (GUI) for user to undergo the AI agent process.
example/lib/main.dart
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_pipwave_ai_agent/flutter_pipwave_ai_agent.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:pretty_dio_logger/pretty_dio_logger.dart';
import 'src/api/init_ai_agent_api.dart';
import 'src/bloc/init_agent/init_agent_bloc.dart';
import 'src/config/init_env.dart';
import 'src/repositories/session_token_repository.dart';
import 'src/ui/screens/home/home_screen.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await FlutterPipwaveAiAgent.instance.initialise();
const env = InitEnv.staging;
final dio = Dio(BaseOptions(baseUrl: env.baseUrl))
..interceptors.add(
PrettyDioLogger(
requestHeader: true,
requestBody: true,
),
);
final api = InitAiAgentApi(dio, baseUrl: env.baseUrl);
const storage = FlutterSecureStorage();
final repository = SessionTokenRepository(storage, api);
runApp(
MaterialApp(
builder: (context, child) => GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
child: child,
),
home: BlocProvider<InitAgentBloc>(
create: (_) => InitAgentBloc(repository),
child: const HomeScreen(),
),
),
);
}