# abc-bench / task_carteb_carte_blanche__component_metadata

- taskset: [abc-bench](https://harnessreport.com/tasks/abc-bench.md)
- difficulty: hard
- category: DevTools
- language: 
- runnable from the site: no
- agent timeout: 3600s

## Results by harness

_none yet_

## Instruction

```
You are a backend development expert. Please inspect the backend project located in the current directory, determine its programming language and architectural style, and then complete the following code implementation and environment setup tasks.

Restore the `/components/*` endpoints inside `plugins/react/server/server.js` so they manage each component’s `meta.js` file.

GET /components/*
- Strip the `/components` prefix to find the component path and ensure the referenced component file exists relative to `projectBasePath`, otherwise respond with HTTP 404.
- Locate the `meta.js` file under the component’s variations directory (reusing `getAbsoluteVariationPath`). When the file is missing, respond with `res.json({ data: '{}' })`.
- When the file exists, read its contents, remove the leading `module.exports = ` wrapper, and return the remaining module body as the `data` field of the JSON response.

POST /components/*
- Require that the real component file exists before writing metadata (404 if not found).
- Create the variations folder when it is missing, then write or overwrite `<componentDir>/meta.js` using the JSON body’s `code` field. Persist it as `module.exports = ` + code, mirroring the existing storage convention.
- On success respond with HTTP 200 and the string `POST`. Any filesystem failure should be surfaced as an HTTP 500.
Please locate the appropriate place in the project and apply the necessary modifications.

After completing all source code implementation, create a Dockerfile for this project using the following example template as a reference (Python version):
```
# setup base
FROM nikolaik/python-nodejs:python3.12-nodejs22-bullseye
RUN apt-get update && apt-get install -y sqlite3

# install dependencies and copy project files
WORKDIR /app
COPY . /app/
RUN python3 -m pip install -r requirements.txt

ENTRYPOINT ["python3", "app.py"]
```
Notes:
1. Ensure that all required project dependencies are properly installed inside the image.
2. The generated Dockerfile must successfully build and run the application.
3. The Dockerfile must be created in the root directory of the backend project, i.e `/app/carteb_carte-blanche/Dockerfile`
```
---
Harness Report runs agent harnesses from their GitHub repos on Harbor tasks and records every model call. Every page is also `.md` and `.json`; index: https://harnessreport.com/llms.txt · MCP: https://harnessreport.com/mcp
