registerAll static method

void registerAll(
  1. LifecycleManager manager, {
  2. void onCostUpdate(
    1. int,
    2. int,
    3. double
    )?,
  3. void logEntry(
    1. String
    )?,
  4. Future<void> writeBackup(
    1. String,
    2. String
    )?,
  5. Future<String?> readFile(
    1. String
    )?,
  6. List<String>? protectedBranches,
  7. void onGitWarning(
    1. String
    )?,
  8. void onSecretFound(
    1. String
    )?,
  9. int maxToolCallsPerMinute = 120,
  10. void onRateLimitWarning(
    1. String
    )?,
  11. void onRateLimitExceeded(
    1. String
    )?,
})

Convenience method to register all built-in lifecycle hooks.

Implementation

static void registerAll(
  LifecycleManager manager, {
  void Function(int, int, double)? onCostUpdate,
  void Function(String)? logEntry,
  Future<void> Function(String, String)? writeBackup,
  Future<String?> Function(String)? readFile,
  List<String>? protectedBranches,
  void Function(String)? onGitWarning,
  void Function(String)? onSecretFound,
  int maxToolCallsPerMinute = 120,
  void Function(String)? onRateLimitWarning,
  void Function(String)? onRateLimitExceeded,
}) {
  if (onCostUpdate != null) {
    manager.registerSession(costTracking(onCostUpdate: onCostUpdate));
  }

  if (logEntry != null) {
    manager.registerConversation(auditLog(log: logEntry));
  }

  if (writeBackup != null && readFile != null) {
    manager.registerTool(
      fileBackup(writeBackup: writeBackup, readFile: readFile),
    );
  }

  manager.registerTool(
    gitSafety(
      protectedBranches: protectedBranches ?? ['main', 'master'],
      onWarning: onGitWarning,
    ),
  );

  if (onSecretFound != null) {
    manager.registerTool(secretDetection(onSecretFound: onSecretFound));
  }

  manager.registerTool(
    rateLimiting(
      maxToolCallsPerMinute: maxToolCallsPerMinute,
      onLimitApproached: onRateLimitWarning,
      onLimitExceeded: onRateLimitExceeded,
    ),
  );
}