Просмотр исходного кода

Merge pull request #2874 from Kilo-Org/mark/more-moremoreapprovals

add more approvals & rejections
Mark IJbema 4 месяцев назад
Родитель
Сommit
049005e77d
53 измененных файлов с 286 добавлено и 0 удалено
  1. 0 0
      src/test-llm-autocompletion/approvals/class-patterns/class-method-override.approved.3.txt
  2. 15 0
      src/test-llm-autocompletion/approvals/class-patterns/class-method-override.approved.4.txt
  3. 6 0
      src/test-llm-autocompletion/approvals/comment-driven/fixme-bug.approved.5.txt
  4. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/fixme-bug.approved.6.txt
  5. 7 0
      src/test-llm-autocompletion/approvals/comment-driven/fixme-bug.approved.7.txt
  6. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.6.txt
  7. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.7.txt
  8. 14 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.8.txt
  9. 13 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.9.txt
  10. 6 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-caching.rejected.1.txt
  11. 8 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-debounce.rejected.1.txt
  12. 4 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-debounce.rejected.2.txt
  13. 8 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-debounce.rejected.3.txt
  14. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.approved.8.txt
  15. 7 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.approved.9.txt
  16. 4 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.rejected.1.txt
  17. 12 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.rejected.2.txt
  18. 7 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.10.txt
  19. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.7.txt
  20. 8 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.8.txt
  21. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.9.txt
  22. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-logging.rejected.2.txt
  23. 6 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-logging.rejected.3.txt
  24. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-pagination.approved.5.txt
  25. 4 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-pagination.approved.6.txt
  26. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.10.txt
  27. 24 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.11.txt
  28. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.8.txt
  29. 24 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.9.txt
  30. 5 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.rejected.1.txt
  31. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-retry-logic.approved.7.txt
  32. 20 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-retry-logic.approved.8.txt
  33. 5 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-retry-logic.rejected.2.txt
  34. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-sanitize-input.approved.5.txt
  35. 4 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-sanitize-input.approved.6.txt
  36. 0 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-validation.approved.6.txt
  37. 13 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-validation.approved.7.txt
  38. 7 0
      src/test-llm-autocompletion/approvals/comment-driven/todo-validation.rejected.2.txt
  39. 4 0
      src/test-llm-autocompletion/approvals/control-flow/if-statement.rb.approved.6.txt
  40. 4 0
      src/test-llm-autocompletion/approvals/control-flow/if-statement.rb.approved.7.txt
  41. 0 0
      src/test-llm-autocompletion/approvals/error-handling/async-error-handling.approved.8.txt
  42. 6 0
      src/test-llm-autocompletion/approvals/error-handling/async-error-handling.approved.9.txt
  43. 0 0
      src/test-llm-autocompletion/approvals/error-handling/rescue-handling.rb.approved.7.txt
  44. 7 0
      src/test-llm-autocompletion/approvals/error-handling/rescue-handling.rb.approved.8.txt
  45. 5 0
      src/test-llm-autocompletion/approvals/error-handling/rescue-handling.rb.rejected.8.txt
  46. 1 0
      src/test-llm-autocompletion/approvals/inline-completion/method-call-completion.approved.2.txt
  47. 0 0
      src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.10.txt
  48. 5 0
      src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.11.txt
  49. 5 0
      src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.7.txt
  50. 0 0
      src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.8.txt
  51. 6 0
      src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.9.txt
  52. 6 0
      src/test-llm-autocompletion/approvals/new-line/after-variable-declaration.rejected.3.txt
  53. 6 0
      src/test-llm-autocompletion/approvals/new-line/after-variable-declaration.rejected.4.txt

+ 0 - 0
src/test-llm-autocompletion/approvals/class-patterns/class-method-override.approved.2.txt → src/test-llm-autocompletion/approvals/class-patterns/class-method-override.approved.3.txt


+ 15 - 0
src/test-llm-autocompletion/approvals/class-patterns/class-method-override.approved.4.txt

@@ -0,0 +1,15 @@
+class Shape {
+	area() {
+		return 0;
+	}
+}
+
+class Rectangle extends Shape {
+	constructor(width, height) {
+		super();
+		this.width = width;
+		this.height = height;
+	}
+	
+	area() {
+		return this.width * this.height

+ 6 - 0
src/test-llm-autocompletion/approvals/comment-driven/fixme-bug.approved.5.txt

@@ -0,0 +1,6 @@
+function divide(a, b) {
+  if (b === 0) {
+    throw new Error("Division by zero is not allowed");
+  }
+  return a / b;
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/fixme-bug.approved.4.txt → src/test-llm-autocompletion/approvals/comment-driven/fixme-bug.approved.6.txt


+ 7 - 0
src/test-llm-autocompletion/approvals/comment-driven/fixme-bug.approved.7.txt

@@ -0,0 +1,7 @@
+function divide(a, b) {
+  // FIXME: Handle division by zero
+  if (b === 0) {
+    throw new Error("Division by zero");
+  }
+  return a / b;
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.4.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.6.txt


+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.5.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.7.txt


+ 14 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.8.txt

@@ -0,0 +1,14 @@
+class DataService {
+  private cache: Map<string, any> = new Map();
+
+  // TODO: Implement caching mechanism to reduce API calls
+  async fetchData(id) {
+    if (this.cache.has(id)) {
+      return this.cache.get(id);
+    }
+
+    const data = await api.get(`/data/${id}`);
+    this.cache.set(id, data);
+    return data;
+  }
+}

+ 13 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-caching.approved.9.txt

@@ -0,0 +1,13 @@
+class DataService {
+  private cache = new Map();
+
+  async fetchData(id) {
+    if (this.cache.has(id)) {
+      return this.cache.get(id);
+    }
+
+    const data = await api.get(`/data/${id}`);
+    this.cache.set(id, data);
+    return data;
+  }
+}

+ 6 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-caching.rejected.1.txt

@@ -0,0 +1,6 @@
+class DataService {
+  // TODO: Implement caching mechanism to reduce API calls<<<AUTOCOMPLETE_HERE>>>
+  async fetchData(id) {
+    return await api.get(`/data/${id}`);
+  }
+}

+ 8 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-debounce.rejected.1.txt

@@ -0,0 +1,8 @@
+function handleSearch(query) {
+  // TODO: Add debounce to prevent excessive API calls
+  const debouncedSearch = debounce((query) => {
+    searchAPI(query);
+  }, 500);
+
+  debouncedSearch(query);
+}

+ 4 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-debounce.rejected.2.txt

@@ -0,0 +1,4 @@
+function handleSearch(query) {
+  // TODO: Add debounce to prevent excessive API calls
+  searchAPI(query);
+}

+ 8 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-debounce.rejected.3.txt

@@ -0,0 +1,8 @@
+function handleSearch(query) {
+  // TODO: Add debounce to prevent excessive API calls
+  const debouncedSearch = debounce((query) => {
+    searchAPI(query);
+  }, 300);
+
+  debouncedSearch(query);
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.approved.6.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.approved.8.txt


+ 7 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.approved.9.txt

@@ -0,0 +1,7 @@
+function processData(data) {
+  // TODO: Implement error handling
+  if (!data) {
+    throw new Error('Data is required');
+  }
+  return processedData;
+}

+ 4 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.rejected.1.txt

@@ -0,0 +1,4 @@
+function processData(data) {
+  // TODO: Implement error handling<<<AUTOCOMPLETE_HERE>>>
+  return processedData;
+}

+ 12 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-error-handling.rejected.2.txt

@@ -0,0 +1,12 @@
+function processData(data) {
+  if (!data) {
+    throw new Error('Data is required');
+  }
+
+  if (typeof data !== 'object') {
+    throw new Error('Data must be an object');
+  }
+
+  // TODO: Implement error handling
+  return processedData;
+}

+ 7 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.10.txt

@@ -0,0 +1,7 @@
+function processOrder(order) {
+  console.log(`Processing order: ${JSON.stringify(order)}`);
+  // TODO: Add comprehensive logging for order processing<<<AUTOCOMPLETE_HERE>>>
+  const result = validateOrder(order);
+  console.log(`Order validation result: ${JSON.stringify(result)}`);
+  return result;
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.5.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.7.txt


+ 8 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.8.txt

@@ -0,0 +1,8 @@
+function processOrder(order) {
+  console.log(`Processing order: ${JSON.stringify(order)}`);
+  console.time('orderProcessing');
+  const result = validateOrder(order);
+  console.timeEnd('orderProcessing');
+  console.log(`Order processing result: ${JSON.stringify(result)}`);
+  return result;
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.6.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-logging.approved.9.txt


+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-logging.rejected.1.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-logging.rejected.2.txt


+ 6 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-logging.rejected.3.txt

@@ -0,0 +1,6 @@
+function processOrder(order) {
+  // TODO: Add comprehensive logging for order processing
+  console.log('Processing order:', order);
+  const result = validateOrder(order);
+  return result;
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-pagination.approved.4.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-pagination.approved.5.txt


+ 4 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-pagination.approved.6.txt

@@ -0,0 +1,4 @@
+function fetchUsers(page, limit) {
+  // TODO: Implement pagination with offset and limit
+  return db.query('SELECT * FROM users LIMIT ? OFFSET ?', [limit, (page - 1) * limit]);
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.6.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.10.txt


+ 24 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.11.txt

@@ -0,0 +1,24 @@
+function handleAPIRequest(req, res) {
+  // Implement rate limiting to prevent abuse
+  const rateLimit = 100; // requests per minute
+  const windowMs = 60 * 1000; // 1 minute in milliseconds
+  const now = Date.now();
+  const windowStart = now - windowMs;
+
+  // Initialize or get the request count for this IP
+  let requestCount = req.ipRequestCounts.get(req.ip) || 0;
+
+  // Filter out requests that are outside the current window
+  req.ipRequestCounts.set(req.ip, requestCount.filter(timestamp => timestamp > windowStart).length);
+
+  // Check if the request count exceeds the rate limit
+  if (requestCount >= rateLimit) {
+    res.status(429).send('Too many requests, please try again later.');
+    return;
+  }
+
+  // Add the current request timestamp
+  req.ipRequestCounts.set(req.ip, [...req.ipRequestCounts.get(req.ip), now]);
+
+  processRequest(req, res);
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.5.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.8.txt


+ 24 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.approved.9.txt

@@ -0,0 +1,24 @@
+function handleAPIRequest(req, res) {
+  // Rate limiting configuration
+  const MAX_REQUESTS = 100; // Maximum number of requests allowed
+  const TIME_WINDOW = 60 * 1000; // Time window in milliseconds (1 minute)
+
+  // Rate limiting implementation
+  const now = Date.now();
+  const windowStart = now - TIME_WINDOW;
+
+  // Filter requests within the current time window
+  const requestsInWindow = requestTimestamps.filter(timestamp => timestamp > windowStart);
+
+  if (requestsInWindow.length >= MAX_REQUESTS) {
+    // Too many requests, return 429 Too Many Requests
+    res.status(429).send('Too many requests, please try again later.');
+    return;
+  }
+
+  // Add current request timestamp
+  requestTimestamps.push(now);
+
+  // Process the request if rate limit is not exceeded
+  processRequest(req, res);
+}

+ 5 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-rate-limiting.rejected.1.txt

@@ -0,0 +1,5 @@
+function handleAPIRequest(req, res) {
+  // TODO: Implement rate limiting to prevent abuse
+  // Add rate limiting logic here
+  processRequest(req, res);
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-retry-logic.approved.4.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-retry-logic.approved.7.txt


+ 20 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-retry-logic.approved.8.txt

@@ -0,0 +1,20 @@
+async function fetchWithRetry(url) {
+  const maxRetries = 3;
+  const baseDelay = 1000; // 1 second
+
+  for (let attempt = 1; attempt <= maxRetries; attempt++) {
+    try {
+      const response = await fetch(url);
+      if (!response.ok) {
+        throw new Error(`HTTP error! status: ${response.status}`);
+      }
+      return response.json();
+    } catch (error) {
+      if (attempt === maxRetries) {
+        throw error;
+      }
+      const delay = baseDelay * Math.pow(2, attempt - 1);
+      await new Promise(resolve => setTimeout(resolve, delay));
+    }
+  }
+}

+ 5 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-retry-logic.rejected.2.txt

@@ -0,0 +1,5 @@
+async function fetchWithRetry(url) {
+  // TODO: Implement retry logic with exponential backoff
+  const response = await fetch(url);
+  return response.json();
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-sanitize-input.approved.4.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-sanitize-input.approved.5.txt


+ 4 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-sanitize-input.approved.6.txt

@@ -0,0 +1,4 @@
+function renderUserComment(comment) {
+  // TODO: Sanitize input to prevent XSS attacks
+  document.getElementById('comments').innerHTML = sanitizeHTML(comment);
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-validation.approved.3.txt → src/test-llm-autocompletion/approvals/comment-driven/todo-validation.approved.6.txt


+ 13 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-validation.approved.7.txt

@@ -0,0 +1,13 @@
+function registerUser(email: string, password: string) {
+  // Validate email format
+  if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
+    throw new Error('Invalid email format');
+  }
+
+  // Validate password length
+  if (password.length < 8) {
+    throw new Error('Password must be at least 8 characters long');
+  }
+
+  return createUser(email, password);
+}

+ 7 - 0
src/test-llm-autocompletion/approvals/comment-driven/todo-validation.rejected.2.txt

@@ -0,0 +1,7 @@
+function registerUser(email, password) {
+  // TODO: Add input validation for email and password
+  if (!email || !password) {
+    throw new Error('Email and password are required');
+  }
+  return createUser(email, password);
+}

+ 4 - 0
src/test-llm-autocompletion/approvals/control-flow/if-statement.rb.approved.6.txt

@@ -0,0 +1,4 @@
+x = 10
+if x > 5
+
+	print("x is greater than 5")

+ 4 - 0
src/test-llm-autocompletion/approvals/control-flow/if-statement.rb.approved.7.txt

@@ -0,0 +1,4 @@
+x = 10
+if x > 5
+	print("x is greater than 5")
+	<<<AUTOCOMPLETE_HERE>>>

+ 0 - 0
src/test-llm-autocompletion/approvals/error-handling/async-error-handling.approved.7.txt → src/test-llm-autocompletion/approvals/error-handling/async-error-handling.approved.8.txt


+ 6 - 0
src/test-llm-autocompletion/approvals/error-handling/async-error-handling.approved.9.txt

@@ -0,0 +1,6 @@
+async function saveUser(userData) {
+	try {
+		const validated = await validateUser(userData);
+				const savedUser = await saveToDatabase(validated);
+		return savedUser;
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/error-handling/rescue-handling.rb.approved.5.txt → src/test-llm-autocompletion/approvals/error-handling/rescue-handling.rb.approved.7.txt


+ 7 - 0
src/test-llm-autocompletion/approvals/error-handling/rescue-handling.rb.approved.8.txt

@@ -0,0 +1,7 @@
+def process_data(data)
+	begin
+		result = JSON.parse(data)
+		rescue JSON::ParserError => e
+			puts "Error parsing JSON: #{e.message}"
+			nil
+		end

+ 5 - 0
src/test-llm-autocompletion/approvals/error-handling/rescue-handling.rb.rejected.8.txt

@@ -0,0 +1,5 @@
+def process_data(data)
+	begin
+		result = JSON.parse(data)
+		result
+		<<<AUTOCOMPLETE_HERE>>>

+ 1 - 0
src/test-llm-autocompletion/approvals/inline-completion/method-call-completion.approved.2.txt

@@ -0,0 +1 @@
+const result = items.filter(x => x % 2 === 0).<<<AUTOCOMPLETE_HERE>>>map(x => x * 2);

+ 0 - 0
src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.6.txt → src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.10.txt


+ 5 - 0
src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.11.txt

@@ -0,0 +1,5 @@
+function processItems(items) {
+	items.forEach(item => {
+<<<AUTOCOMPLETE_HERE>>>
+	});
+}

+ 5 - 0
src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.7.txt

@@ -0,0 +1,5 @@
+function processItems(items) {
+    for (const item of items) {
+        // Process each item
+    }
+}

+ 0 - 0
src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.5.txt → src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.8.txt


+ 6 - 0
src/test-llm-autocompletion/approvals/new-line/after-opening-brace.approved.9.txt

@@ -0,0 +1,6 @@
+function processItems(items) {
+    // Process each item in the array
+    items.forEach(item => {
+        // Add your item processing logic here
+    });
+}

+ 6 - 0
src/test-llm-autocompletion/approvals/new-line/after-variable-declaration.rejected.3.txt

@@ -0,0 +1,6 @@
+function initialize() {
+  const config = loadConfig();
+  if (!config) {
+<<<AUTOCOMPLETE_HERE>>>
+  return config;
+}

+ 6 - 0
src/test-llm-autocompletion/approvals/new-line/after-variable-declaration.rejected.4.txt

@@ -0,0 +1,6 @@
+function initialize() {
+  const config = loadConfig();
+  const settings = parseSettings(config);
+<<<AUTOCOMPLETE_HERE>>>
+  return config;
+}