diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0ca024318..cfe483d09 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -10,6 +10,11 @@ name: core-deploy on: workflow_dispatch: inputs: + build_only: + description: Build and push images without changing the production installation + required: false + default: false + type: boolean source_branch: description: Source branch deployed to the existing production installation required: true @@ -61,7 +66,7 @@ jobs: exit 1 fi echo "revision=$revision" >> "$GITHUB_OUTPUT" - echo "Deploying $SOURCE_BRANCH at \`$revision\`" >> "$GITHUB_STEP_SUMMARY" + echo "Selected $SOURCE_BRANCH at \`$revision\`" >> "$GITHUB_STEP_SUMMARY" build: needs: prepare @@ -175,6 +180,7 @@ jobs: run: docker logout "${REGISTRY_HOST%%/*}" || true deploy: + if: ${{ !inputs.build_only }} needs: [prepare, build] runs-on: ${{ vars.OAC_DEPLOY_RUNNER || 'ubuntu-22.04' }} environment: production diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index b5af01e8c..d90a069dc 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -13,7 +13,6 @@ on: - docs.json - package.json - pnpm-workspace.yaml - - .npmrc - Makefile - .github/actions/node/** - .github/workflows/website.yml diff --git a/.gitignore b/.gitignore index 3d22625f0..40355526c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,11 +11,6 @@ coverage/ go.work.sum __pycache__/ *.pyc -/config/ -/logs/ -/state/ -/cache/ -/target/ # `go build ./services/web` in the repository root writes this binary. /web playwright-report/ diff --git a/AGENTS.md b/AGENTS.md index 6bc0a950d..0075923ac 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,7 +27,7 @@ Do not multiply entities without necessity. The long-term goal is minimal code, | --- | --- | --- | | Application–Core (`/v1`) | Official schema pinned by `contracts/agents-api/upstream.json` plus Go-owned `x_agents_core` fields and typed public extension routes; `make openapi` generates public Go types and `contracts/agents-api/openapi.yaml` | [Agents API guide](docs/api/public-agent-api.md) | | Web and operators–Core (`/core/v1`) | Route annotations in `services/core/internal/api/`; `make openapi` generates `contracts/agents-api/core.openapi.yaml` | [Core administration API](contracts/agents-api/admin-api.md) | -| Nodes and daemons–Core (`/api/v1` HTTP routes; the node and daemon wire protocols are separate rows) | Route annotations in `services/core/internal/api/`; `make openapi` generates `contracts/agents-api/runtime.openapi.yaml` | [Machine connection API](contracts/agents-api/machine-api.md) | +| Nodes and daemons–Core (`/api/v1` HTTP routes; the node and daemon wire protocols are separate rows) | `internal/machineapi/machineapi.go` (wire types) plus route annotations in `services/core/internal/api/`; `make openapi` generates `contracts/agents-api/runtime.openapi.yaml` | [Machine connection API](contracts/agents-api/machine-api.md) | | Core and sandbox nodes–Workspace filesystem | `services/core/internal/workspacefs/workspacefs.go` | [Workspace filesystem protocol](docs/workspace-provider.md) | | Core–Sandbox Provider | `services/core/internal/sandbox/sandbox_provider.go` | [Sandbox Provider protocol](docs/sandbox-provider.md) | | Core–sandbox node | `services/core/internal/sandbox/node/wire.go` | [Sandbox node protocol](contracts/agents-api/node-generation-protocol.md) | diff --git a/Makefile b/Makefile index 2e73eade1..3efed26be 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ SQLC_VERSION ?= v1.29.0 SQLC ?= go run github.com/sqlc-dev/sqlc/cmd/sqlc@$(SQLC_VERSION) SWAG_VERSION ?= v1.16.4 -.PHONY: help check check-database check-go check-sqlc sqlc-generate node-deps check-claude-sdk check-web check-mcode-harness build-daemon build-core check-core check-core-packages check-core-integration docker-build-core check-core-container build-codex-runtime build-claude-runtime build-claude-sdk-runtime build-mcode-harness build-mcode-runtime +.PHONY: help check check-database check-go check-sqlc sqlc-generate node-deps check-claude-sdk check-web check-mcode-harness build-daemon build-core check-core check-core-packages check-core-integration docker-build-core check-core-container build-codex-runtime build-claude-runtime build-claude-sdk-runtime help: @printf '%s\n' 'make build-core Build standalone Core commands' 'make build-daemon Build the execution daemon' 'make check Run Core, persistence and runtime checks' 'See README.md for runtime prerequisites and deployment.' @@ -38,7 +38,7 @@ openapi: output=$$(mktemp -d "$$root/core-openapi.XXXXXX"); trap 'rm -rf "$$output"' EXIT; \ python3 scripts/generate-public-api.py $(OPENAPI_FLAGS) --swag-roots "$$output/roots.go"; \ $(SWAG) init \ - -g cmd/server/main.go --dir "./services/core,./contracts/agents-api/v1,./internal/modelprovider,$$output" \ + -g cmd/server/main.go --dir "./services/core,./contracts/agents-api/v1,./internal/modelprovider,./internal/machineapi,$$output" \ --output "$$output" \ --outputTypes yaml --parseInternal; \ python3 scripts/patch-agents-openapi.py "$$output/swagger.yaml"; \ @@ -154,12 +154,6 @@ build-codex-runtime: build-claude-runtime: ./scripts/build-claude-runtime.sh -build-mcode-harness: - ./scripts/build-mcode-harness.sh - -build-mcode-runtime: - ./scripts/build-mcode-runtime.sh - .PHONY: build-microsandbox-provider check-microsandbox-provider build-microsandbox-provider: python3 scripts/build-microsandbox-provider.py build "$${OAC_DEV_HOME:-$$HOME/.oac}/build/microsandbox-provider/oac-microsandbox-provider" @@ -180,7 +174,6 @@ check-distribution: go test ./services/web ./services/core/cmd/oac -count=1 PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s deploy/node -p 'test_*.py' PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s deploy/compose -p 'test_*.py' - PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s scripts/acceptance -p 'test_*.py' PYTHONDONTWRITEBYTECODE=1 python3 deploy/test_install.py PYTHONDONTWRITEBYTECODE=1 python3 deploy/test_install_source.py PYTHONDONTWRITEBYTECODE=1 python3 scripts/core-distribution-manifest.test.py diff --git a/README.ja.md b/README.ja.md deleted file mode 100644 index e12d93c55..000000000 --- a/README.ja.md +++ /dev/null @@ -1,87 +0,0 @@ -
{t("sandbox.cloud.counts")}
{template} : null}
- >}
- />
{t("It keeps Docker images and volumes; a microsandbox store goes once Core confirmed the removal.")}
+{t("It keeps images and volumes; the sandbox store goes once Core confirmed the removal.")}
{cleanup.oldAddress !== null ?{deployment.configuration?.api_url}{deployment.configuration?.domain}{deployment.configuration?.[field.name] || MISSING}{t("Stop the reset and allow new hosted Sessions again. Sessions already archived stay archived and cannot be resumed.")}
: <> -{t("Hosted Sessions will be archived permanently. Deployment configuration and node registrations will be cleared. Unsaved workspace contents may be lost.")}
{t("Hosted Sessions will be archived permanently. Deployment configuration and node registrations will be cleared. Unsaved workspace contents may be lost.")}
{t("Force immediately cancels remaining work. Offline resources can still block cleanup.")}
:- {t("Enter the E2B key again to save.")} - + {t("Enter the key again to save.")} + {editing ? : null}
) : null} - + {sized ? ( + + ) : null}