Graph -> generation job -> signed ZIP downloadGenerate Project and Download Its ZIP Archive
Generate target-language services from the current graph through an authenticated asynchronous job.
When to use
Choose Generate project in the project menu when the current graph is ready for native code generation.
Behavior
- The application-bar project menu contains Generate project. The current in-memory graph is submitted; save separately to retain the editable project.
- The Designer uses the signed-in Cognito ID token and its configured generation API URL. It submits POST /v1/user/generation-jobs and polls the returned statusUrl while the job is QUEUED or RUNNING.
- ServiceGen validates the graph before generating services, shared modules, transport contracts, and operational files. Components remain concrete streams; editor grouping is not a runtime wrapper.
- After SUCCEEDED, the Designer requests statusUrl + /download. The response supplies a short-lived signed archive URL and fileName. The browser downloads directly from that URL without forwarding the Cognito token.
- The fallback filename is generated-project.zip. This browser path does not decode a base64 archive response or call the legacy synchronous generateCode endpoint.
- A FAILED job exposes its error code. Authentication, network, validation, and polling errors are shown instead of treating the request as a successful download.
First download and regeneration
For a new workspace, extract the archive and follow its README. For an existing implementation, inspect make merge-check before make merge, then check preserved business functions against their regenerated contracts.
Python project is a separate export
Download Python project in the same menu creates a ZIP of the current authoring files in the browser. It is not native service generation and does not call the generation backend.
Generation stages properties
Observable stages in the current Designer.
Generate projectProject menuSubmit the current graph using the signed-in session.
QUEUED / RUNNINGJob statusWait and poll using the returned status URL.
FAILEDJob statusDisplay the returned error instead of downloading an incomplete project.
SUCCEEDEDJob statusRequest the signed download URL and archive filename.
Download Python projectProject menuExport authoring files separately from generated runtime code.
Using the downloaded archive
# First generation
unzip <generated-project>.zip
cd <generated-project>
make init
make build
# Regenerating an existing workspace
make merge-check ARCHIVE=../<generated-project>.zip
make merge ARCHIVE=../<generated-project>.zip
make merge-validate