feat(api): add clean-slate v1 backend for docker-git control#88
feat(api): add clean-slate v1 backend for docker-git control#88skulidropek merged 10 commits intoProverCoderAI:mainfrom
Conversation
|
Proof for Konrad request (ForgeFed issues input + ActivityPub follow) Implemented in commit: What was requested:
Verified via live curl run against API:
curl -sS -X POST http://127.0.0.1:3366/v1/federation/follows \
-H 'content-type: application/json' \
-d '{"actor":"https://dev.example/users/bot","object":"https://tracker.example/issues/followers","capability":"https://tracker.example/caps/follow"}'Observed:
curl -sS -X POST http://127.0.0.1:3366/v1/federation/inbox \
-H 'content-type: application/json' \
-d '{"type":"Accept","object":"urn:docker-git:activity:follow:..."}'Observed:
curl -sS -X POST http://127.0.0.1:3366/v1/federation/inbox \
-H 'content-type: application/json' \
-d '{"@context":["https://www.w3.org/ns/activitystreams","https://forgefed.org/ns"],"id":"https://tracker.example/offers/42","type":"Offer","target":"https://tracker.example/issues","object":{"type":"Ticket","id":"https://tracker.example/issues/42","attributedTo":"https://origin.example/users/alice","summary":"Title","content":"Body"}}'Observed:
curl -sS http://127.0.0.1:3366/v1/federation/follows
curl -sS http://127.0.0.1:3366/v1/federation/issuesObserved:
Also verified locally before push:
Changed files:
|
|
Анализ изображения из PR (пример ActivityPub Проверил live через curl на локально поднятом API ( Что подтверждено и уже работает:
curl -sS -X POST http://127.0.0.1:3334/v1/federation/inbox \
-H 'content-type: application/json' \
-d '{"@context":["https://www.w3.org/ns/activitystreams","https://forgefed.org/ns"],"id":"https://tracker.example/offers/42","type":"Offer","target":"https://tracker.example/issues","object":{"type":"Ticket","id":"https://tracker.example/issues/42","attributedTo":"https://origin.example/users/alice","summary":"Need reproducible CI parity","content":"Implement API behavior matching CLI."}}'Факт:
curl -sS -X POST http://127.0.0.1:3334/v1/federation/follows \
-H 'content-type: application/json' \
-d '{"actor":"https://dev.example/users/bot","object":"https://tracker.example/issues/followers","capability":"https://tracker.example/caps/follow"}'
curl -sS -X POST http://127.0.0.1:3334/v1/federation/inbox \
-H 'content-type: application/json' \
-d '{"type":"Accept","object":"urn:docker-git:activity:follow:<id>"}'Факт: статус подписки переходит Что НЕ реализовано относительно изображения (Person API shape):
Проверка: curl -i http://127.0.0.1:3334/v1/federation/actorФакт: Итог:
|
|
curl -sS -X POST http://127.0.0.1:3334/v1/federation/follows curl -sS -X POST http://127.0.0.1:3334/v1/federation/inbox Эти обьекты не правильные + example точно заменяется на домен который указывается? |
|
Сделал правки по замечанию Konrad: "объекты не правильные" и "заменяется ли .example на указанный домен". Коммит: Что изменено:
Proof (live curl):
curl -sS http://127.0.0.1:3334/v1/federation/actor \
-H 'x-forwarded-proto: https' \
-H 'x-forwarded-host: social.provercoder.ai'Observed:
curl -sS -X POST http://127.0.0.1:3334/v1/federation/follows \
-H 'content-type: application/json' \
-d '{"domain":"https://social.provercoder.ai","actor":"https://dev.example/users/bot","object":"https://tracker.example/issues/followers","capability":"https://tracker.example/caps/follow"}'Observed:
curl -sS -X POST http://127.0.0.1:3334/v1/federation/inbox \
-H 'content-type: application/json' \
-d '{"type":"Accept","object":"<activity.id>"}'
curl -sS http://127.0.0.1:3334/v1/federation/following \
-H 'x-forwarded-proto: https' \
-H 'x-forwarded-host: social.provercoder.ai'
curl -sS http://127.0.0.1:3334/v1/federation/outbox \
-H 'x-forwarded-proto: https' \
-H 'x-forwarded-host: social.provercoder.ai'Observed:
Локальная верификация:
|
|
@kogeletey привет. В ветке
Пожалуйста, посмотри: это то, что ты хотел получить? |
|
Убери версионирование api пожалуйста |
|
@kogeletey сделал: убрал версионирование API ( Теперь маршруты без префикса:
Короткий proof curl: curl -sS http://127.0.0.1:3334/health
curl -sS http://127.0.0.1:3334/projects
curl -sS http://127.0.0.1:3334/federation/actorСтарый versioned путь теперь не используется: curl -i http://127.0.0.1:3334/v1/health
# HTTP/1.1 404Коммит с изменением: |
|
@kogeletey привет. Сделали все пункты из твоих комментариев:
Текущие proof-артефакты:
Можешь, пожалуйста, подтвердить, что это финально соответствует тому, что ты хотел? |
|
Надо тестировать и запускать |
|

Summary
packages/apiwith clean-slate v1 HTTP backend on Effect Platformcreate/delete/up/down/recreate/ps/logs) without CLI dependencystart/list/get/stop/attach/logs) with in-memory registry + snapshot restore/v1/projects/:projectId/events)API Endpoints
GET /v1/healthGET /v1/projectsGET /v1/projects/:projectIdPOST /v1/projectsDELETE /v1/projects/:projectIdPOST /v1/projects/:projectId/upPOST /v1/projects/:projectId/downPOST /v1/projects/:projectId/recreateGET /v1/projects/:projectId/psGET /v1/projects/:projectId/logsGET /v1/projects/:projectId/events(SSE)POST /v1/projects/:projectId/agentsGET /v1/projects/:projectId/agentsGET /v1/projects/:projectId/agents/:agentIdGET /v1/projects/:projectId/agents/:agentId/attachPOST /v1/projects/:projectId/agents/:agentId/stopGET /v1/projects/:projectId/agents/:agentId/logsValidation
pnpm -C /home/dev/workspaces/provercoderai/docker-git/issue-84 run api:typecheckpnpm -C /home/dev/workspaces/provercoderai/docker-git/issue-84 run api:testpnpm -C /home/dev/workspaces/provercoderai/docker-git/issue-84 run api:buildGET /v1/healthreturns{"ok":true}Closes #84