hanzoai 2.2.10 → 2.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/admin-api.d.ts +16 -16
- package/dist/api/admin-api.js +16 -16
- package/dist/api/ai-api.d.ts +1409 -2449
- package/dist/api/ai-api.js +1026 -1623
- package/dist/api/allowance-api.d.ts +71 -0
- package/dist/api/allowance-api.js +122 -0
- package/dist/api/audio-api.d.ts +8 -8
- package/dist/api/audio-api.js +8 -8
- package/dist/api/benchmark-api.d.ts +182 -0
- package/dist/api/benchmark-api.js +224 -0
- package/dist/api/billing-api.d.ts +58 -0
- package/dist/api/billing-api.js +118 -0
- package/dist/api/chat-api.d.ts +29 -0
- package/dist/api/chat-api.js +59 -0
- package/dist/api/compliance-api.d.ts +8 -8
- package/dist/api/compliance-api.js +8 -8
- package/dist/api/default-api.d.ts +29 -0
- package/dist/api/default-api.js +56 -0
- package/dist/api/documents-api.d.ts +21 -4
- package/dist/api/documents-api.js +15 -8
- package/dist/api/edge-api.d.ts +71 -0
- package/dist/api/edge-api.js +122 -0
- package/dist/api/esign-api.d.ts +12 -12
- package/dist/api/esign-api.js +12 -12
- package/dist/api/iam-api.d.ts +435 -13
- package/dist/api/iam-api.js +632 -17
- package/dist/api/instances-api.d.ts +1214 -0
- package/dist/api/instances-api.js +1855 -0
- package/dist/api/integrations-api.d.ts +30 -0
- package/dist/api/integrations-api.js +59 -0
- package/dist/api/o11y-api.d.ts +4 -4
- package/dist/api/o11y-api.js +4 -4
- package/dist/api/responses-api.d.ts +4 -4
- package/dist/api/responses-api.js +4 -4
- package/dist/api/router-api.d.ts +6 -7
- package/dist/api/runner-api.d.ts +4 -81
- package/dist/api/runner-api.js +4 -129
- package/dist/api/s3-api.d.ts +0 -171
- package/dist/api/s3-api.js +0 -256
- package/dist/api/search-api.d.ts +24 -147
- package/dist/api/search-api.js +23 -212
- package/dist/api/{sentry-api.d.ts → sentinel-api.d.ts} +282 -282
- package/dist/api/{sentry-api.js → sentinel-api.js} +318 -318
- package/dist/api/sites-api.d.ts +461 -0
- package/dist/api/sites-api.js +621 -0
- package/dist/api/vector-api.d.ts +0 -171
- package/dist/api/vector-api.js +0 -256
- package/dist/api/videos-api.d.ts +42 -8
- package/dist/api/videos-api.js +30 -16
- package/dist/api/wecom-bot-api.d.ts +42 -8
- package/dist/api/wecom-bot-api.js +30 -16
- package/dist/api.d.ts +4 -11
- package/dist/api.js +4 -11
- package/dist/esm/api/admin-api.d.ts +16 -16
- package/dist/esm/api/admin-api.js +16 -16
- package/dist/esm/api/ai-api.d.ts +1409 -2449
- package/dist/esm/api/ai-api.js +1027 -1624
- package/dist/esm/api/allowance-api.d.ts +70 -0
- package/dist/esm/api/allowance-api.js +112 -0
- package/dist/esm/api/audio-api.d.ts +8 -8
- package/dist/esm/api/audio-api.js +8 -8
- package/dist/esm/api/benchmark-api.d.ts +182 -0
- package/dist/esm/api/benchmark-api.js +224 -0
- package/dist/esm/api/billing-api.d.ts +58 -0
- package/dist/esm/api/billing-api.js +118 -0
- package/dist/esm/api/chat-api.d.ts +29 -0
- package/dist/esm/api/chat-api.js +59 -0
- package/dist/esm/api/compliance-api.d.ts +8 -8
- package/dist/esm/api/compliance-api.js +8 -8
- package/dist/esm/api/default-api.d.ts +29 -0
- package/dist/esm/api/default-api.js +56 -0
- package/dist/esm/api/documents-api.d.ts +21 -4
- package/dist/esm/api/documents-api.js +16 -9
- package/dist/esm/api/edge-api.d.ts +70 -0
- package/dist/esm/api/edge-api.js +112 -0
- package/dist/esm/api/esign-api.d.ts +12 -12
- package/dist/esm/api/esign-api.js +12 -12
- package/dist/esm/api/iam-api.d.ts +435 -13
- package/dist/esm/api/iam-api.js +632 -17
- package/dist/esm/api/instances-api.d.ts +1213 -0
- package/dist/esm/api/instances-api.js +1845 -0
- package/dist/esm/api/integrations-api.d.ts +30 -0
- package/dist/esm/api/integrations-api.js +59 -0
- package/dist/esm/api/o11y-api.d.ts +4 -4
- package/dist/esm/api/o11y-api.js +4 -4
- package/dist/esm/api/responses-api.d.ts +4 -4
- package/dist/esm/api/responses-api.js +4 -4
- package/dist/esm/api/router-api.d.ts +6 -7
- package/dist/esm/api/runner-api.d.ts +4 -81
- package/dist/esm/api/runner-api.js +4 -129
- package/dist/esm/api/s3-api.d.ts +0 -171
- package/dist/esm/api/s3-api.js +1 -257
- package/dist/esm/api/search-api.d.ts +24 -147
- package/dist/esm/api/search-api.js +23 -212
- package/dist/esm/api/{sentry-api.d.ts → sentinel-api.d.ts} +282 -282
- package/dist/esm/api/{sentry-api.js → sentinel-api.js} +313 -313
- package/dist/esm/api/sites-api.d.ts +461 -0
- package/dist/esm/api/sites-api.js +621 -0
- package/dist/esm/api/vector-api.d.ts +0 -171
- package/dist/esm/api/vector-api.js +1 -257
- package/dist/esm/api/videos-api.d.ts +42 -8
- package/dist/esm/api/videos-api.js +31 -17
- package/dist/esm/api/wecom-bot-api.d.ts +42 -8
- package/dist/esm/api/wecom-bot-api.js +31 -17
- package/dist/esm/api.d.ts +4 -11
- package/dist/esm/api.js +4 -11
- package/dist/{models/resource-metrics.d.ts → esm/models/allowance.d.ts} +17 -17
- package/dist/{models/service-port.d.ts → esm/models/backend-status.d.ts} +14 -14
- package/dist/esm/models/claim-row.d.ts +72 -0
- package/dist/esm/models/claims-out.d.ts +31 -0
- package/dist/esm/models/edge-state.d.ts +62 -0
- package/dist/esm/models/gitlab-project-view.d.ts +66 -0
- package/dist/esm/models/gitlab-projects-out.d.ts +31 -0
- package/dist/{models/remote-app.d.ts → esm/models/history-out.d.ts} +14 -19
- package/dist/{models/block.d.ts → esm/models/iam-account-body.d.ts} +10 -16
- package/dist/esm/models/{get-ai-chats200-response.d.ts → iam-assume-body.d.ts} +10 -3
- package/dist/esm/models/iam-create-organization-input.d.ts +12 -0
- package/dist/esm/models/iam-organization.d.ts +12 -0
- package/dist/esm/models/{activity.d.ts → iam-search-organizations-output.d.ts} +9 -10
- package/dist/esm/models/{session.d.ts → iam-set-avatar-input.d.ts} +11 -11
- package/dist/esm/models/iam-update-organization-input.d.ts +12 -0
- package/dist/esm/models/iam-webauthn-credential.d.ts +6 -0
- package/dist/esm/models/index.d.ts +21 -103
- package/dist/esm/models/index.js +21 -103
- package/dist/esm/models/integrity.d.ts +13 -7
- package/dist/esm/models/leader-row.d.ts +42 -0
- package/dist/esm/models/{vector-score.d.ts → match.d.ts} +13 -7
- package/dist/esm/models/{lb-view.d.ts → model-history.d.ts} +13 -30
- package/dist/esm/models/published-claim.d.ts +54 -0
- package/dist/esm/models/put-claims-in.d.ts +31 -0
- package/dist/esm/models/{env-variable.d.ts → put-claims-out.d.ts} +10 -10
- package/dist/esm/models/request.d.ts +60 -0
- package/dist/esm/models/response.d.ts +50 -0
- package/dist/esm/models/run-point.d.ts +48 -0
- package/dist/esm/models/runner-build-req.d.ts +0 -6
- package/dist/esm/models/runner-build-resp.d.ts +2 -2
- package/dist/esm/models/trail.d.ts +49 -0
- package/dist/{esm/models/resource-metrics.d.ts → models/allowance.d.ts} +17 -17
- package/dist/{esm/models/service-port.d.ts → models/backend-status.d.ts} +14 -14
- package/dist/models/claim-row.d.ts +72 -0
- package/dist/models/claims-out.d.ts +31 -0
- package/dist/models/edge-state.d.ts +62 -0
- package/dist/models/gitlab-project-view.d.ts +66 -0
- package/dist/models/gitlab-projects-out.d.ts +31 -0
- package/dist/{esm/models/remote-app.d.ts → models/history-out.d.ts} +14 -19
- package/dist/{esm/models/block.d.ts → models/iam-account-body.d.ts} +10 -16
- package/dist/{esm/models/get-ai-activities200-response.d.ts → models/iam-assume-body.d.ts} +10 -3
- package/dist/models/iam-create-organization-input.d.ts +12 -0
- package/dist/models/iam-organization.d.ts +12 -0
- package/dist/{esm/models/application-config-option.d.ts → models/iam-search-organizations-output.d.ts} +8 -7
- package/dist/models/{session.d.ts → iam-set-avatar-input.d.ts} +11 -11
- package/dist/models/iam-update-organization-input.d.ts +12 -0
- package/dist/models/iam-webauthn-credential.d.ts +6 -0
- package/dist/models/index.d.ts +21 -103
- package/dist/models/index.js +21 -103
- package/dist/models/integrity.d.ts +13 -7
- package/dist/models/leader-row.d.ts +42 -0
- package/dist/models/{vector-score.d.ts → match.d.ts} +13 -7
- package/dist/{esm/models/model-search-result.d.ts → models/model-history.d.ts} +14 -25
- package/dist/models/published-claim.d.ts +54 -0
- package/dist/models/put-claims-in.d.ts +31 -0
- package/dist/models/put-claims-out.d.ts +30 -0
- package/dist/models/request.d.ts +60 -0
- package/dist/models/response.d.ts +50 -0
- package/dist/models/run-point.d.ts +48 -0
- package/dist/models/runner-build-req.d.ts +0 -6
- package/dist/models/runner-build-resp.d.ts +2 -2
- package/dist/models/trail.d.ts +49 -0
- package/package.json +1 -1
- package/src/api/admin-api.ts +16 -16
- package/src/api/ai-api.ts +1568 -3194
- package/src/api/allowance-api.ts +128 -0
- package/src/api/audio-api.ts +8 -8
- package/src/api/benchmark-api.ts +338 -0
- package/src/api/billing-api.ts +132 -0
- package/src/api/chat-api.ts +66 -0
- package/src/api/compliance-api.ts +8 -8
- package/src/api/default-api.ts +62 -0
- package/src/api/documents-api.ts +29 -8
- package/src/api/edge-api.ts +128 -0
- package/src/api/esign-api.ts +12 -12
- package/src/api/iam-api.ts +844 -18
- package/src/api/instances-api.ts +2357 -0
- package/src/api/integrations-api.ts +68 -0
- package/src/api/o11y-api.ts +4 -4
- package/src/api/responses-api.ts +4 -4
- package/src/api/router-api.ts +4 -6
- package/src/api/runner-api.ts +4 -161
- package/src/api/s3-api.ts +0 -335
- package/src/api/search-api.ts +31 -273
- package/src/api/{sentry-api.ts → sentinel-api.ts} +418 -418
- package/src/api/sites-api.ts +864 -1
- package/src/api/vector-api.ts +0 -335
- package/src/api/videos-api.ts +58 -16
- package/src/api/wecom-bot-api.ts +58 -16
- package/src/api.ts +4 -11
- package/src/models/{resource-metrics.ts → allowance.ts} +17 -17
- package/src/models/{service-port.ts → backend-status.ts} +14 -14
- package/src/models/claim-row.ts +78 -0
- package/src/models/{lb-list.ts → claims-out.ts} +13 -7
- package/src/models/edge-state.ts +66 -0
- package/src/models/gitlab-project-view.ts +72 -0
- package/src/models/{vpc-list.ts → gitlab-projects-out.ts} +13 -7
- package/src/models/{remote-app.ts → history-out.ts} +16 -19
- package/src/models/{block.ts → iam-account-body.ts} +10 -16
- package/src/models/{get-ai-files200-response.ts → iam-assume-body.ts} +10 -6
- package/src/models/iam-create-organization-input.ts +12 -0
- package/src/models/iam-organization.ts +12 -0
- package/src/models/{container-detail.ts → iam-search-organizations-output.ts} +8 -14
- package/src/models/{session.ts → iam-set-avatar-input.ts} +11 -11
- package/src/models/iam-update-organization-input.ts +12 -0
- package/src/models/iam-webauthn-credential.ts +6 -0
- package/src/models/index.ts +21 -103
- package/src/models/integrity.ts +13 -7
- package/src/models/leader-row.ts +42 -0
- package/src/models/{vector-score.ts → match.ts} +13 -7
- package/src/models/{lb-view.ts → model-history.ts} +15 -30
- package/src/models/published-claim.ts +60 -0
- package/src/models/{self-release-list.ts → put-claims-in.ts} +13 -7
- package/src/models/{application-config-option.ts → put-claims-out.ts} +10 -10
- package/src/models/request.ts +66 -0
- package/src/models/response.ts +60 -0
- package/src/models/run-point.ts +54 -0
- package/src/models/runner-build-req.ts +0 -6
- package/src/models/runner-build-resp.ts +2 -2
- package/src/models/trail.ts +57 -0
- package/dist/api/balancers-api.d.ts +0 -211
- package/dist/api/balancers-api.js +0 -321
- package/dist/api/datastore-api.d.ts +0 -212
- package/dist/api/datastore-api.js +0 -319
- package/dist/api/docdb-api.d.ts +0 -212
- package/dist/api/docdb-api.js +0 -319
- package/dist/api/generate-text-to-speech-audio-api.d.ts +0 -70
- package/dist/api/generate-text-to-speech-audio-api.js +0 -122
- package/dist/api/generate-text-to-speech-audio-stream-api.d.ts +0 -70
- package/dist/api/generate-text-to-speech-audio-stream-api.js +0 -122
- package/dist/api/health-api.d.ts +0 -70
- package/dist/api/health-api.js +0 -122
- package/dist/api/kv-api.d.ts +0 -212
- package/dist/api/kv-api.js +0 -319
- package/dist/api/process-speech-to-text-api.d.ts +0 -70
- package/dist/api/process-speech-to-text-api.js +0 -122
- package/dist/api/sql-api.d.ts +0 -212
- package/dist/api/sql-api.js +0 -319
- package/dist/api/vpcs-api.d.ts +0 -211
- package/dist/api/vpcs-api.js +0 -321
- package/dist/esm/api/balancers-api.d.ts +0 -210
- package/dist/esm/api/balancers-api.js +0 -311
- package/dist/esm/api/datastore-api.d.ts +0 -211
- package/dist/esm/api/datastore-api.js +0 -309
- package/dist/esm/api/docdb-api.d.ts +0 -211
- package/dist/esm/api/docdb-api.js +0 -309
- package/dist/esm/api/generate-text-to-speech-audio-api.d.ts +0 -69
- package/dist/esm/api/generate-text-to-speech-audio-api.js +0 -112
- package/dist/esm/api/generate-text-to-speech-audio-stream-api.d.ts +0 -69
- package/dist/esm/api/generate-text-to-speech-audio-stream-api.js +0 -112
- package/dist/esm/api/health-api.d.ts +0 -69
- package/dist/esm/api/health-api.js +0 -112
- package/dist/esm/api/kv-api.d.ts +0 -211
- package/dist/esm/api/kv-api.js +0 -309
- package/dist/esm/api/process-speech-to-text-api.d.ts +0 -69
- package/dist/esm/api/process-speech-to-text-api.js +0 -112
- package/dist/esm/api/sql-api.d.ts +0 -211
- package/dist/esm/api/sql-api.js +0 -309
- package/dist/esm/api/vpcs-api.d.ts +0 -210
- package/dist/esm/api/vpcs-api.js +0 -311
- package/dist/esm/models/agent-mcp-tools.d.ts +0 -36
- package/dist/esm/models/application-event.d.ts +0 -72
- package/dist/esm/models/application-view.d.ts +0 -71
- package/dist/esm/models/article.d.ts +0 -73
- package/dist/esm/models/asset.d.ts +0 -108
- package/dist/esm/models/audit.d.ts +0 -204
- package/dist/esm/models/chat.d.ts +0 -168
- package/dist/esm/models/connection.d.ts +0 -156
- package/dist/esm/models/container-detail.d.ts +0 -37
- package/dist/esm/models/create-lbreq.d.ts +0 -49
- package/dist/esm/models/create-vpcreq.d.ts +0 -36
- package/dist/esm/models/deployment-detail.d.ts +0 -55
- package/dist/esm/models/envelope.d.ts +0 -47
- package/dist/esm/models/envelope.js +0 -17
- package/dist/esm/models/example-question.d.ts +0 -36
- package/dist/esm/models/form-item.d.ts +0 -48
- package/dist/esm/models/form.d.ts +0 -79
- package/dist/esm/models/fwd-rule.d.ts +0 -42
- package/dist/esm/models/get-ai-articles200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-articles200-response.js +0 -14
- package/dist/esm/models/get-ai-assets200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-assets200-response.js +0 -14
- package/dist/esm/models/get-ai-chats200-response.js +0 -14
- package/dist/esm/models/get-ai-deployments200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-deployments200-response.js +0 -14
- package/dist/esm/models/get-ai-files200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-files200-response.js +0 -14
- package/dist/esm/models/get-ai-forms200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-forms200-response.js +0 -14
- package/dist/esm/models/get-ai-graphs200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-graphs200-response.js +0 -14
- package/dist/esm/models/get-ai-messages200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-messages200-response.js +0 -14
- package/dist/esm/models/get-ai-nodes200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-nodes200-response.js +0 -14
- package/dist/esm/models/get-ai-providers200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-providers200-response.js +0 -14
- package/dist/esm/models/get-ai-records200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-records200-response.js +0 -14
- package/dist/esm/models/get-ai-remote-connections200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-remote-connections200-response.js +0 -14
- package/dist/esm/models/get-ai-routes200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-routes200-response.js +0 -14
- package/dist/esm/models/get-ai-scales200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-scales200-response.js +0 -14
- package/dist/esm/models/get-ai-scans200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-scans200-response.js +0 -14
- package/dist/esm/models/get-ai-signin-sessions200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-signin-sessions200-response.js +0 -14
- package/dist/esm/models/get-ai-stores200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-stores200-response.js +0 -14
- package/dist/esm/models/get-ai-tasks200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-tasks200-response.js +0 -14
- package/dist/esm/models/get-ai-templates200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-templates200-response.js +0 -14
- package/dist/esm/models/get-ai-usages200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-usages200-response.js +0 -14
- package/dist/esm/models/get-ai-vectors200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-vectors200-response.js +0 -14
- package/dist/esm/models/get-ai-videos200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-videos200-response.js +0 -14
- package/dist/esm/models/get-ai-workflows200-response.d.ts +0 -17
- package/dist/esm/models/get-ai-workflows200-response.js +0 -14
- package/dist/esm/models/graph.d.ts +0 -90
- package/dist/esm/models/graph.js +0 -14
- package/dist/esm/models/label.d.ts +0 -78
- package/dist/esm/models/label.js +0 -14
- package/dist/esm/models/lb-list.d.ts +0 -25
- package/dist/esm/models/lb-list.js +0 -14
- package/dist/esm/models/lb-view.js +0 -14
- package/dist/esm/models/message.d.ts +0 -232
- package/dist/esm/models/message.js +0 -14
- package/dist/esm/models/model-file.d.ts +0 -84
- package/dist/esm/models/model-file.js +0 -14
- package/dist/esm/models/model-route.d.ts +0 -126
- package/dist/esm/models/model-route.js +0 -14
- package/dist/esm/models/model-search-result.js +0 -14
- package/dist/esm/models/model-tool-call.d.ts +0 -36
- package/dist/esm/models/model-tool-call.js +0 -14
- package/dist/esm/models/node.d.ts +0 -183
- package/dist/esm/models/node.js +0 -14
- package/dist/esm/models/patch.d.ts +0 -72
- package/dist/esm/models/patch.js +0 -14
- package/dist/esm/models/post-ai-articles200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-articles200-response.js +0 -14
- package/dist/esm/models/post-ai-assets200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-assets200-response.js +0 -14
- package/dist/esm/models/post-ai-chats200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-chats200-response.js +0 -14
- package/dist/esm/models/post-ai-deployments200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-deployments200-response.js +0 -14
- package/dist/esm/models/post-ai-files200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-files200-response.js +0 -14
- package/dist/esm/models/post-ai-forms200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-forms200-response.js +0 -14
- package/dist/esm/models/post-ai-graphs200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-graphs200-response.js +0 -14
- package/dist/esm/models/post-ai-messages200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-messages200-response.js +0 -14
- package/dist/esm/models/post-ai-nodes200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-nodes200-response.js +0 -14
- package/dist/esm/models/post-ai-providers200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-providers200-response.js +0 -14
- package/dist/esm/models/post-ai-records200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-records200-response.js +0 -14
- package/dist/esm/models/post-ai-remote-connections200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-remote-connections200-response.js +0 -14
- package/dist/esm/models/post-ai-routes200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-routes200-response.js +0 -14
- package/dist/esm/models/post-ai-scales200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-scales200-response.js +0 -14
- package/dist/esm/models/post-ai-scans200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-scans200-response.js +0 -14
- package/dist/esm/models/post-ai-signin-sessions200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-signin-sessions200-response.js +0 -14
- package/dist/esm/models/post-ai-stores200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-stores200-response.js +0 -14
- package/dist/esm/models/post-ai-tasks200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-tasks200-response.js +0 -14
- package/dist/esm/models/post-ai-templates200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-templates200-response.js +0 -14
- package/dist/esm/models/post-ai-tree-files200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-tree-files200-response.js +0 -14
- package/dist/esm/models/post-ai-vectors200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-vectors200-response.js +0 -14
- package/dist/esm/models/post-ai-videos200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-videos200-response.js +0 -14
- package/dist/esm/models/post-ai-workflows200-response.d.ts +0 -17
- package/dist/esm/models/post-ai-workflows200-response.js +0 -14
- package/dist/esm/models/properties.d.ts +0 -30
- package/dist/esm/models/properties.js +0 -14
- package/dist/esm/models/provider.d.ts +0 -301
- package/dist/esm/models/provider.js +0 -14
- package/dist/esm/models/release-state.d.ts +0 -72
- package/dist/esm/models/release-state.js +0 -14
- package/dist/esm/models/remark.d.ts +0 -48
- package/dist/esm/models/remark.js +0 -14
- package/dist/esm/models/remote-app.js +0 -14
- package/dist/esm/models/resource-metrics.js +0 -14
- package/dist/esm/models/resource-requests.d.ts +0 -30
- package/dist/esm/models/resource-requests.js +0 -14
- package/dist/esm/models/scale.d.ts +0 -54
- package/dist/esm/models/scale.js +0 -14
- package/dist/esm/models/self-release-list.d.ts +0 -25
- package/dist/esm/models/self-release-list.js +0 -14
- package/dist/esm/models/service-detail.d.ts +0 -67
- package/dist/esm/models/service-detail.js +0 -14
- package/dist/esm/models/service-port.js +0 -14
- package/dist/esm/models/service.d.ts +0 -72
- package/dist/esm/models/service.js +0 -14
- package/dist/esm/models/session.js +0 -14
- package/dist/esm/models/store.d.ts +0 -311
- package/dist/esm/models/store.js +0 -14
- package/dist/esm/models/task.d.ts +0 -132
- package/dist/esm/models/task.js +0 -14
- package/dist/esm/models/template-config-option.d.ts +0 -54
- package/dist/esm/models/template-config-option.js +0 -14
- package/dist/esm/models/template.d.ts +0 -91
- package/dist/esm/models/template.js +0 -14
- package/dist/esm/models/tree-file.d.ts +0 -60
- package/dist/esm/models/tree-file.js +0 -14
- package/dist/esm/models/vector-score.js +0 -14
- package/dist/esm/models/vector.d.ts +0 -108
- package/dist/esm/models/vector.js +0 -14
- package/dist/esm/models/video.d.ts +0 -274
- package/dist/esm/models/video.js +0 -14
- package/dist/esm/models/vpc-list.d.ts +0 -25
- package/dist/esm/models/vpc-list.js +0 -14
- package/dist/esm/models/vpc-view.d.ts +0 -54
- package/dist/esm/models/vpc-view.js +0 -14
- package/dist/esm/models/workflow.d.ts +0 -66
- package/dist/esm/models/workflow.js +0 -14
- package/dist/models/activity.d.ts +0 -32
- package/dist/models/agent-mcp-tools.d.ts +0 -36
- package/dist/models/application-config-option.d.ts +0 -30
- package/dist/models/application-event.d.ts +0 -72
- package/dist/models/application-view.d.ts +0 -71
- package/dist/models/article.d.ts +0 -73
- package/dist/models/asset.d.ts +0 -108
- package/dist/models/audit.d.ts +0 -204
- package/dist/models/chat.d.ts +0 -168
- package/dist/models/connection.d.ts +0 -156
- package/dist/models/container-detail.d.ts +0 -37
- package/dist/models/create-lbreq.d.ts +0 -49
- package/dist/models/create-vpcreq.d.ts +0 -36
- package/dist/models/deployment-detail.d.ts +0 -55
- package/dist/models/env-variable.d.ts +0 -30
- package/dist/models/envelope.d.ts +0 -47
- package/dist/models/envelope.js +0 -20
- package/dist/models/example-question.d.ts +0 -36
- package/dist/models/form-item.d.ts +0 -48
- package/dist/models/form.d.ts +0 -79
- package/dist/models/fwd-rule.d.ts +0 -42
- package/dist/models/get-ai-activities200-response.d.ts +0 -17
- package/dist/models/get-ai-articles200-response.d.ts +0 -17
- package/dist/models/get-ai-articles200-response.js +0 -15
- package/dist/models/get-ai-assets200-response.d.ts +0 -17
- package/dist/models/get-ai-assets200-response.js +0 -15
- package/dist/models/get-ai-chats200-response.d.ts +0 -17
- package/dist/models/get-ai-chats200-response.js +0 -15
- package/dist/models/get-ai-deployments200-response.d.ts +0 -17
- package/dist/models/get-ai-deployments200-response.js +0 -15
- package/dist/models/get-ai-files200-response.d.ts +0 -17
- package/dist/models/get-ai-files200-response.js +0 -15
- package/dist/models/get-ai-forms200-response.d.ts +0 -17
- package/dist/models/get-ai-forms200-response.js +0 -15
- package/dist/models/get-ai-graphs200-response.d.ts +0 -17
- package/dist/models/get-ai-graphs200-response.js +0 -15
- package/dist/models/get-ai-messages200-response.d.ts +0 -17
- package/dist/models/get-ai-messages200-response.js +0 -15
- package/dist/models/get-ai-nodes200-response.d.ts +0 -17
- package/dist/models/get-ai-nodes200-response.js +0 -15
- package/dist/models/get-ai-providers200-response.d.ts +0 -17
- package/dist/models/get-ai-providers200-response.js +0 -15
- package/dist/models/get-ai-records200-response.d.ts +0 -17
- package/dist/models/get-ai-records200-response.js +0 -15
- package/dist/models/get-ai-remote-connections200-response.d.ts +0 -17
- package/dist/models/get-ai-remote-connections200-response.js +0 -15
- package/dist/models/get-ai-routes200-response.d.ts +0 -17
- package/dist/models/get-ai-routes200-response.js +0 -15
- package/dist/models/get-ai-scales200-response.d.ts +0 -17
- package/dist/models/get-ai-scales200-response.js +0 -15
- package/dist/models/get-ai-scans200-response.d.ts +0 -17
- package/dist/models/get-ai-scans200-response.js +0 -15
- package/dist/models/get-ai-signin-sessions200-response.d.ts +0 -17
- package/dist/models/get-ai-signin-sessions200-response.js +0 -15
- package/dist/models/get-ai-stores200-response.d.ts +0 -17
- package/dist/models/get-ai-stores200-response.js +0 -15
- package/dist/models/get-ai-tasks200-response.d.ts +0 -17
- package/dist/models/get-ai-tasks200-response.js +0 -15
- package/dist/models/get-ai-templates200-response.d.ts +0 -17
- package/dist/models/get-ai-templates200-response.js +0 -15
- package/dist/models/get-ai-usages200-response.d.ts +0 -17
- package/dist/models/get-ai-usages200-response.js +0 -15
- package/dist/models/get-ai-vectors200-response.d.ts +0 -17
- package/dist/models/get-ai-vectors200-response.js +0 -15
- package/dist/models/get-ai-videos200-response.d.ts +0 -17
- package/dist/models/get-ai-videos200-response.js +0 -15
- package/dist/models/get-ai-workflows200-response.d.ts +0 -17
- package/dist/models/get-ai-workflows200-response.js +0 -15
- package/dist/models/graph.d.ts +0 -90
- package/dist/models/graph.js +0 -15
- package/dist/models/label.d.ts +0 -78
- package/dist/models/label.js +0 -15
- package/dist/models/lb-list.d.ts +0 -25
- package/dist/models/lb-list.js +0 -15
- package/dist/models/lb-view.d.ts +0 -54
- package/dist/models/lb-view.js +0 -15
- package/dist/models/message.d.ts +0 -232
- package/dist/models/message.js +0 -15
- package/dist/models/model-file.d.ts +0 -84
- package/dist/models/model-file.js +0 -15
- package/dist/models/model-route.d.ts +0 -126
- package/dist/models/model-route.js +0 -15
- package/dist/models/model-search-result.d.ts +0 -48
- package/dist/models/model-search-result.js +0 -15
- package/dist/models/model-tool-call.d.ts +0 -36
- package/dist/models/model-tool-call.js +0 -15
- package/dist/models/node.d.ts +0 -183
- package/dist/models/node.js +0 -15
- package/dist/models/patch.d.ts +0 -72
- package/dist/models/patch.js +0 -15
- package/dist/models/post-ai-articles200-response.d.ts +0 -17
- package/dist/models/post-ai-articles200-response.js +0 -15
- package/dist/models/post-ai-assets200-response.d.ts +0 -17
- package/dist/models/post-ai-assets200-response.js +0 -15
- package/dist/models/post-ai-chats200-response.d.ts +0 -17
- package/dist/models/post-ai-chats200-response.js +0 -15
- package/dist/models/post-ai-deployments200-response.d.ts +0 -17
- package/dist/models/post-ai-deployments200-response.js +0 -15
- package/dist/models/post-ai-files200-response.d.ts +0 -17
- package/dist/models/post-ai-files200-response.js +0 -15
- package/dist/models/post-ai-forms200-response.d.ts +0 -17
- package/dist/models/post-ai-forms200-response.js +0 -15
- package/dist/models/post-ai-graphs200-response.d.ts +0 -17
- package/dist/models/post-ai-graphs200-response.js +0 -15
- package/dist/models/post-ai-messages200-response.d.ts +0 -17
- package/dist/models/post-ai-messages200-response.js +0 -15
- package/dist/models/post-ai-nodes200-response.d.ts +0 -17
- package/dist/models/post-ai-nodes200-response.js +0 -15
- package/dist/models/post-ai-providers200-response.d.ts +0 -17
- package/dist/models/post-ai-providers200-response.js +0 -15
- package/dist/models/post-ai-records200-response.d.ts +0 -17
- package/dist/models/post-ai-records200-response.js +0 -15
- package/dist/models/post-ai-remote-connections200-response.d.ts +0 -17
- package/dist/models/post-ai-remote-connections200-response.js +0 -15
- package/dist/models/post-ai-routes200-response.d.ts +0 -17
- package/dist/models/post-ai-routes200-response.js +0 -15
- package/dist/models/post-ai-scales200-response.d.ts +0 -17
- package/dist/models/post-ai-scales200-response.js +0 -15
- package/dist/models/post-ai-scans200-response.d.ts +0 -17
- package/dist/models/post-ai-scans200-response.js +0 -15
- package/dist/models/post-ai-signin-sessions200-response.d.ts +0 -17
- package/dist/models/post-ai-signin-sessions200-response.js +0 -15
- package/dist/models/post-ai-stores200-response.d.ts +0 -17
- package/dist/models/post-ai-stores200-response.js +0 -15
- package/dist/models/post-ai-tasks200-response.d.ts +0 -17
- package/dist/models/post-ai-tasks200-response.js +0 -15
- package/dist/models/post-ai-templates200-response.d.ts +0 -17
- package/dist/models/post-ai-templates200-response.js +0 -15
- package/dist/models/post-ai-tree-files200-response.d.ts +0 -17
- package/dist/models/post-ai-tree-files200-response.js +0 -15
- package/dist/models/post-ai-vectors200-response.d.ts +0 -17
- package/dist/models/post-ai-vectors200-response.js +0 -15
- package/dist/models/post-ai-videos200-response.d.ts +0 -17
- package/dist/models/post-ai-videos200-response.js +0 -15
- package/dist/models/post-ai-workflows200-response.d.ts +0 -17
- package/dist/models/post-ai-workflows200-response.js +0 -15
- package/dist/models/properties.d.ts +0 -30
- package/dist/models/properties.js +0 -15
- package/dist/models/provider.d.ts +0 -301
- package/dist/models/provider.js +0 -15
- package/dist/models/release-state.d.ts +0 -72
- package/dist/models/release-state.js +0 -15
- package/dist/models/remark.d.ts +0 -48
- package/dist/models/remark.js +0 -15
- package/dist/models/remote-app.js +0 -15
- package/dist/models/resource-metrics.js +0 -15
- package/dist/models/resource-requests.d.ts +0 -30
- package/dist/models/resource-requests.js +0 -15
- package/dist/models/scale.d.ts +0 -54
- package/dist/models/scale.js +0 -15
- package/dist/models/self-release-list.d.ts +0 -25
- package/dist/models/self-release-list.js +0 -15
- package/dist/models/service-detail.d.ts +0 -67
- package/dist/models/service-detail.js +0 -15
- package/dist/models/service-port.js +0 -15
- package/dist/models/service.d.ts +0 -72
- package/dist/models/service.js +0 -15
- package/dist/models/session.js +0 -15
- package/dist/models/store.d.ts +0 -311
- package/dist/models/store.js +0 -15
- package/dist/models/task.d.ts +0 -132
- package/dist/models/task.js +0 -15
- package/dist/models/template-config-option.d.ts +0 -54
- package/dist/models/template-config-option.js +0 -15
- package/dist/models/template.d.ts +0 -91
- package/dist/models/template.js +0 -15
- package/dist/models/tree-file.d.ts +0 -60
- package/dist/models/tree-file.js +0 -15
- package/dist/models/vector-score.js +0 -15
- package/dist/models/vector.d.ts +0 -108
- package/dist/models/vector.js +0 -15
- package/dist/models/video.d.ts +0 -274
- package/dist/models/video.js +0 -15
- package/dist/models/vpc-list.d.ts +0 -25
- package/dist/models/vpc-list.js +0 -15
- package/dist/models/vpc-view.d.ts +0 -54
- package/dist/models/vpc-view.js +0 -15
- package/dist/models/workflow.d.ts +0 -66
- package/dist/models/workflow.js +0 -15
- package/src/api/balancers-api.ts +0 -395
- package/src/api/datastore-api.ts +0 -395
- package/src/api/docdb-api.ts +0 -395
- package/src/api/generate-text-to-speech-audio-api.ts +0 -126
- package/src/api/generate-text-to-speech-audio-stream-api.ts +0 -126
- package/src/api/health-api.ts +0 -126
- package/src/api/kv-api.ts +0 -395
- package/src/api/process-speech-to-text-api.ts +0 -126
- package/src/api/sql-api.ts +0 -395
- package/src/api/vpcs-api.ts +0 -395
- package/src/models/activity.ts +0 -36
- package/src/models/agent-mcp-tools.ts +0 -42
- package/src/models/application-event.ts +0 -78
- package/src/models/application-view.ts +0 -87
- package/src/models/article.ts +0 -81
- package/src/models/asset.ts +0 -114
- package/src/models/audit.ts +0 -210
- package/src/models/chat.ts +0 -174
- package/src/models/connection.ts +0 -162
- package/src/models/create-lbreq.ts +0 -57
- package/src/models/create-vpcreq.ts +0 -42
- package/src/models/deployment-detail.ts +0 -63
- package/src/models/env-variable.ts +0 -36
- package/src/models/envelope.ts +0 -56
- package/src/models/example-question.ts +0 -42
- package/src/models/form-item.ts +0 -54
- package/src/models/form.ts +0 -87
- package/src/models/fwd-rule.ts +0 -48
- package/src/models/get-ai-activities200-response.ts +0 -29
- package/src/models/get-ai-articles200-response.ts +0 -29
- package/src/models/get-ai-assets200-response.ts +0 -29
- package/src/models/get-ai-chats200-response.ts +0 -29
- package/src/models/get-ai-deployments200-response.ts +0 -29
- package/src/models/get-ai-forms200-response.ts +0 -29
- package/src/models/get-ai-graphs200-response.ts +0 -29
- package/src/models/get-ai-messages200-response.ts +0 -29
- package/src/models/get-ai-nodes200-response.ts +0 -29
- package/src/models/get-ai-providers200-response.ts +0 -29
- package/src/models/get-ai-records200-response.ts +0 -29
- package/src/models/get-ai-remote-connections200-response.ts +0 -29
- package/src/models/get-ai-routes200-response.ts +0 -29
- package/src/models/get-ai-scales200-response.ts +0 -29
- package/src/models/get-ai-scans200-response.ts +0 -29
- package/src/models/get-ai-signin-sessions200-response.ts +0 -29
- package/src/models/get-ai-stores200-response.ts +0 -29
- package/src/models/get-ai-tasks200-response.ts +0 -29
- package/src/models/get-ai-templates200-response.ts +0 -29
- package/src/models/get-ai-usages200-response.ts +0 -29
- package/src/models/get-ai-vectors200-response.ts +0 -29
- package/src/models/get-ai-videos200-response.ts +0 -29
- package/src/models/get-ai-workflows200-response.ts +0 -29
- package/src/models/graph.ts +0 -96
- package/src/models/label.ts +0 -84
- package/src/models/message.ts +0 -246
- package/src/models/model-file.ts +0 -90
- package/src/models/model-route.ts +0 -132
- package/src/models/model-search-result.ts +0 -54
- package/src/models/model-tool-call.ts +0 -42
- package/src/models/node.ts +0 -195
- package/src/models/patch.ts +0 -78
- package/src/models/post-ai-articles200-response.ts +0 -29
- package/src/models/post-ai-assets200-response.ts +0 -29
- package/src/models/post-ai-chats200-response.ts +0 -29
- package/src/models/post-ai-deployments200-response.ts +0 -29
- package/src/models/post-ai-files200-response.ts +0 -26
- package/src/models/post-ai-forms200-response.ts +0 -29
- package/src/models/post-ai-graphs200-response.ts +0 -29
- package/src/models/post-ai-messages200-response.ts +0 -29
- package/src/models/post-ai-nodes200-response.ts +0 -29
- package/src/models/post-ai-providers200-response.ts +0 -29
- package/src/models/post-ai-records200-response.ts +0 -29
- package/src/models/post-ai-remote-connections200-response.ts +0 -29
- package/src/models/post-ai-routes200-response.ts +0 -29
- package/src/models/post-ai-scales200-response.ts +0 -29
- package/src/models/post-ai-scans200-response.ts +0 -29
- package/src/models/post-ai-signin-sessions200-response.ts +0 -29
- package/src/models/post-ai-stores200-response.ts +0 -29
- package/src/models/post-ai-tasks200-response.ts +0 -29
- package/src/models/post-ai-templates200-response.ts +0 -29
- package/src/models/post-ai-tree-files200-response.ts +0 -29
- package/src/models/post-ai-vectors200-response.ts +0 -29
- package/src/models/post-ai-videos200-response.ts +0 -29
- package/src/models/post-ai-workflows200-response.ts +0 -29
- package/src/models/properties.ts +0 -36
- package/src/models/provider.ts +0 -309
- package/src/models/release-state.ts +0 -78
- package/src/models/remark.ts +0 -54
- package/src/models/resource-requests.ts +0 -36
- package/src/models/scale.ts +0 -60
- package/src/models/service-detail.ts +0 -75
- package/src/models/service.ts +0 -78
- package/src/models/store.ts +0 -321
- package/src/models/task.ts +0 -138
- package/src/models/template-config-option.ts +0 -60
- package/src/models/template.ts +0 -99
- package/src/models/tree-file.ts +0 -66
- package/src/models/vector.ts +0 -114
- package/src/models/video.ts +0 -282
- package/src/models/vpc-view.ts +0 -60
- package/src/models/workflow.ts +0 -72
- /package/dist/esm/models/{activity.js → allowance.js} +0 -0
- /package/dist/esm/models/{agent-mcp-tools.js → backend-status.js} +0 -0
- /package/dist/esm/models/{application-config-option.js → claim-row.js} +0 -0
- /package/dist/esm/models/{application-event.js → claims-out.js} +0 -0
- /package/dist/esm/models/{application-view.js → edge-state.js} +0 -0
- /package/dist/esm/models/{article.js → gitlab-project-view.js} +0 -0
- /package/dist/esm/models/{asset.js → gitlab-projects-out.js} +0 -0
- /package/dist/esm/models/{audit.js → history-out.js} +0 -0
- /package/dist/esm/models/{block.js → iam-account-body.js} +0 -0
- /package/dist/esm/models/{chat.js → iam-assume-body.js} +0 -0
- /package/dist/esm/models/{connection.js → iam-search-organizations-output.js} +0 -0
- /package/dist/esm/models/{container-detail.js → iam-set-avatar-input.js} +0 -0
- /package/dist/esm/models/{create-lbreq.js → match.js} +0 -0
- /package/dist/esm/models/{create-vpcreq.js → model-history.js} +0 -0
- /package/dist/esm/models/{deployment-detail.js → published-claim.js} +0 -0
- /package/dist/esm/models/{env-variable.js → put-claims-in.js} +0 -0
- /package/dist/esm/models/{example-question.js → put-claims-out.js} +0 -0
- /package/dist/esm/models/{form-item.js → request.js} +0 -0
- /package/dist/esm/models/{form.js → response.js} +0 -0
- /package/dist/esm/models/{fwd-rule.js → run-point.js} +0 -0
- /package/dist/esm/models/{get-ai-activities200-response.js → trail.js} +0 -0
- /package/dist/models/{activity.js → allowance.js} +0 -0
- /package/dist/models/{agent-mcp-tools.js → backend-status.js} +0 -0
- /package/dist/models/{application-config-option.js → claim-row.js} +0 -0
- /package/dist/models/{application-event.js → claims-out.js} +0 -0
- /package/dist/models/{application-view.js → edge-state.js} +0 -0
- /package/dist/models/{article.js → gitlab-project-view.js} +0 -0
- /package/dist/models/{asset.js → gitlab-projects-out.js} +0 -0
- /package/dist/models/{audit.js → history-out.js} +0 -0
- /package/dist/models/{block.js → iam-account-body.js} +0 -0
- /package/dist/models/{chat.js → iam-assume-body.js} +0 -0
- /package/dist/models/{connection.js → iam-search-organizations-output.js} +0 -0
- /package/dist/models/{container-detail.js → iam-set-avatar-input.js} +0 -0
- /package/dist/models/{create-lbreq.js → match.js} +0 -0
- /package/dist/models/{create-vpcreq.js → model-history.js} +0 -0
- /package/dist/models/{deployment-detail.js → published-claim.js} +0 -0
- /package/dist/models/{env-variable.js → put-claims-in.js} +0 -0
- /package/dist/models/{example-question.js → put-claims-out.js} +0 -0
- /package/dist/models/{form-item.js → request.js} +0 -0
- /package/dist/models/{form.js → response.js} +0 -0
- /package/dist/models/{fwd-rule.js → run-point.js} +0 -0
- /package/dist/models/{get-ai-activities200-response.js → trail.js} +0 -0
|
@@ -12,20 +12,44 @@
|
|
|
12
12
|
import type { Configuration } from '../configuration';
|
|
13
13
|
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
|
|
14
14
|
import { type RequestArgs, BaseAPI } from '../base';
|
|
15
|
+
import type { ProjectsBoundDomains } from '../models';
|
|
15
16
|
import type { ProjectsBuildSite } from '../models';
|
|
16
17
|
import type { ProjectsComplete } from '../models';
|
|
17
18
|
import type { ProjectsDeploySite } from '../models';
|
|
18
19
|
import type { ProjectsDeployStart } from '../models';
|
|
19
20
|
import type { ProjectsDeployment } from '../models';
|
|
21
|
+
import type { ProjectsDomain } from '../models';
|
|
22
|
+
import type { ProjectsDomains } from '../models';
|
|
23
|
+
import type { ProjectsDomainsBind } from '../models';
|
|
24
|
+
import type { ProjectsFork } from '../models';
|
|
25
|
+
import type { ProjectsProject } from '../models';
|
|
20
26
|
import type { ProjectsPublish } from '../models';
|
|
21
27
|
import type { ProjectsRelease } from '../models';
|
|
22
28
|
import type { ProjectsSite } from '../models';
|
|
23
29
|
import type { ProjectsSiteDeploy } from '../models';
|
|
30
|
+
import type { ProjectsUpdate } from '../models';
|
|
24
31
|
/**
|
|
25
32
|
* SitesApi - axios parameter creator
|
|
26
33
|
* @export
|
|
27
34
|
*/
|
|
28
35
|
export declare const SitesApiAxiosParamCreator: (configuration?: Configuration) => {
|
|
36
|
+
/**
|
|
37
|
+
* Deletes a project and takes its site off the internet. The metadata delete is authoritative and everything after it is best-effort, in this order: the public `<slug>` subdomain binding is released so the slug is free to reclaim, the release rows are dropped so a reclaimed slug never inherits the previous owner\'s rollback menu, the git source is retired on every copy it has so a reclaimed slug never adopts a repository left behind (visibility.go), the S3 origin is purged under BOTH `<org>/<slug>/` and the site\'s sibling release space, and the edge cache-tag is flushed. A failure in any of those is logged and the delete still answers 204 — resurrecting a project because a purge missed would be worse than a leaked prefix. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404 and nothing of theirs is touched.
|
|
38
|
+
* @summary Deletes a project and takes its site off the internet.
|
|
39
|
+
* @param {string} slug Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
40
|
+
* @param {*} [options] Override http request option.
|
|
41
|
+
* @throws {RequiredError}
|
|
42
|
+
*/
|
|
43
|
+
deleteSitesBySlug: (slug: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
44
|
+
/**
|
|
45
|
+
* Gives a custom hostname back, so the name is free to reuse. A claim is FIRST-COME and global, so an add-only surface was not ownership but a leak: a customer who mistyped a domain, or claimed one they later moved elsewhere, could neither reuse it nor let anyone else. This is the third writer that closes it. The release is scoped to (host, org, slug), so it can only ever drop THIS tenant\'s own claim, and it is IDEMPOTENT: releasing a host we do not hold is a clean 204, never a 404 that would let a caller probe which hosts other tenants hold. The edge cache-tag is flushed, since the host stops routing here. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
46
|
+
* @summary Gives a custom hostname back, so the name is free to reuse.
|
|
47
|
+
* @param {string} slug Slug is the project the host is attached to, from the path.
|
|
48
|
+
* @param {string} host Host is the custom hostname, from the path. It is cleaned to its canonical form (lowercased, trailing dot dropped) before anything is looked up.
|
|
49
|
+
* @param {*} [options] Override http request option.
|
|
50
|
+
* @throws {RequiredError}
|
|
51
|
+
*/
|
|
52
|
+
deleteSitesBySlugDomainsByHost: (slug: string, host: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
29
53
|
/**
|
|
30
54
|
* Returns the org\'s deployed sites at the pretty URLs they serve at. It reads the SAME org-scoped store as /v1/projects and keeps only the projects that are actually `live`, so a draft or a failed build is not advertised as a site. Scope: a validated principal is required (403 without one) and the list is keyed by that principal\'s org.
|
|
31
55
|
* @summary Returns the org\'s deployed sites at the pretty URLs they serve at.
|
|
@@ -58,6 +82,14 @@ export declare const SitesApiAxiosParamCreator: (configuration?: Configuration)
|
|
|
58
82
|
* @throws {RequiredError}
|
|
59
83
|
*/
|
|
60
84
|
getSitesBySlugDeploymentsById: (slug: string, id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
85
|
+
/**
|
|
86
|
+
* Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes. `domains` is the routing answer — the hosts that are verified right now — while `claims` is the full panel, one row per host, each saying whether it is live or pending and, if pending, exactly what to publish. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
87
|
+
* @summary Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes.
|
|
88
|
+
* @param {string} slug Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
89
|
+
* @param {*} [options] Override http request option.
|
|
90
|
+
* @throws {RequiredError}
|
|
91
|
+
*/
|
|
92
|
+
getSitesBySlugDomains: (slug: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
61
93
|
/**
|
|
62
94
|
* Returns a site\'s releases newest-first, marking the active one — the rollback menu. Each row carries the release id to activate, the source it was promoted from, its object and byte counts, and the URL if it is the one serving. Retention bounds the list, so it is the set that can actually still be rolled back to, not a full history. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
63
95
|
* @summary Returns a site\'s releases newest-first, marking the active one — the rollback menu.
|
|
@@ -66,6 +98,15 @@ export declare const SitesApiAxiosParamCreator: (configuration?: Configuration)
|
|
|
66
98
|
* @throws {RequiredError}
|
|
67
99
|
*/
|
|
68
100
|
getSitesBySlugReleases: (slug: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
101
|
+
/**
|
|
102
|
+
* Changes a project\'s settings, and only the settings you send. Every field is optional and absent means \"leave it\": `name` may not be blanked, `framework` must stay a known build hint, and `cacheControl` is capped at 256 characters with no newlines (it becomes a response header). `visibility` flips public/private under the same rule as create — public is free, private needs a funded org. `upstream` and `license` are free-text credit for third-party work, and sending \"\" clears one. Changing anything reconciles the project\'s canonical git repo, so a visibility change reaches the source and not just the listing. `hidden`/`hiddenReason` are platform MODERATION and are ignored unless the caller is a platform admin; they remove a project from the public catalogue without touching the publisher\'s own visibility choice, so un-hiding restores exactly what they asked for. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
103
|
+
* @summary Changes a project\'s settings, and only the settings you send.
|
|
104
|
+
* @param {string} slug Slug is the project to update, from the path. The URL is the addressing authority — a `slug` in the body cannot move the write to another project.
|
|
105
|
+
* @param {ProjectsUpdate} projectsUpdate
|
|
106
|
+
* @param {*} [options] Override http request option.
|
|
107
|
+
* @throws {RequiredError}
|
|
108
|
+
*/
|
|
109
|
+
patchSitesBySlug: (slug: string, projectsUpdate: ProjectsUpdate, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
69
110
|
/**
|
|
70
111
|
* Generates a self-contained, mobile-responsive static site from a natural-language brief and deploys it live in one call. One inference call turns `brief` (capped at 8 KiB) into a file manifest, which then runs through the SAME validation, guards and viewport guarantee as a hand-supplied manifest: index.html required at the root, absolute and traversal paths rejected, per-file and total size capped, and a mobile viewport meta tag injected into every HTML document that lacks one. The generated site is fully inline — no CDNs, no remote fonts or images — so it is CSP-safe. `slug` and `name` are optional: the model\'s own title is preferred, and a slug is derived or minted when none is given. It writes into the SAME org-scoped store as /v1/projects — it ensures a project (framework `static`) for the resolved slug and records a deployment — so this is a second door onto one publish pipeline, not a second copy of project state. Ordering is the billing contract: the hosting gate runs BEFORE any inference or upload, so a denied gate generates and uploads NOTHING, and the debit lands once, only after the site is actually live. The tokens are billed to the same ledger the hosting fee was reserved against. Answers 503 when object storage or inference is unconfigured, and 400 when the model\'s manifest cannot be parsed or fails the guards. Scope: a validated principal is required (403 without one) and the site is published into THAT principal\'s org.
|
|
71
112
|
* @summary Generates a self-contained, mobile-responsive static site from a natural-language brief and deploys it live in one call.
|
|
@@ -74,6 +115,15 @@ export declare const SitesApiAxiosParamCreator: (configuration?: Configuration)
|
|
|
74
115
|
* @throws {RequiredError}
|
|
75
116
|
*/
|
|
76
117
|
postSites: (projectsBuildSite: ProjectsBuildSite, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
118
|
+
/**
|
|
119
|
+
* Takes a built site live at `https://<slug>.hanzo.app` in one call. The body is the site itself — a `zip` or `tar.gz` holding `index.html` at its root (or a single wrapper directory that does), sent raw or as a multipart file part. It is unpacked to the site\'s own storage prefix and served immediately, answering the finished deployment. It is bounded by the edge body limit (16 MiB by default), and that bound is the whole reason the other path exists: an oversized POST is refused by the server BEFORE any handler runs and surfaces as an opaque `400 Error when parsing request` that reads like a malformed payload rather than a size cap. A site too large for one archive opens a deployment with `POST /v1/sites/{slug}/deployments` instead and writes its files straight to storage against the scoped grant that answers with — no body limit, and no bytes through this API at all. Billing is fail-closed and fails FIRST: the hosting gate runs before anything is parsed or uploaded, so an unfunded org is 402 and an unreachable commerce is 503 with nothing written. The debit lands only on success — a failed upload is never billed and never flips the live site — and a redeploy answers the SAME URL, because slug and apex are stable. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404. Object storage must be configured (503); an archive that does not walk is a 400 and one over the size cap is a 413.
|
|
120
|
+
* @summary Upload a built site as one archive and serve it
|
|
121
|
+
* @param {string} slug
|
|
122
|
+
* @param {File} [body]
|
|
123
|
+
* @param {*} [options] Override http request option.
|
|
124
|
+
* @throws {RequiredError}
|
|
125
|
+
*/
|
|
126
|
+
postSitesBySlugDeploy: (slug: string, body?: File, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
77
127
|
/**
|
|
78
128
|
* Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage. Answers 202. This is the path for a site too large to send as one archive: a real export is hundreds of megabytes against a 16 MiB body limit, so the bytes deliberately do NOT pass through the API. The answer carries `bucket`, `prefix` and `upload` — a presigned POST policy that S3 itself confines to this site\'s prefix (starts-with `<org>/<slug>/`), expires in 30 minutes and bounds each object. So a build writes its own files and holds no standing bucket credential; there is nothing to rotate and nothing that leaks between tenants. Never guess the prefix — it is server-derived, and a guessed one lands where nothing is served. The deployment is `queued` until POST .../deployments/{id}/complete flips it live (or error). That completion is also where DELETION happens: the grant authorizes writes only, so a build cannot remove a file, and cloud reconciles the prefix against the `keys` manifest the completion carries. A build that dies before completing leaves the deployment queued rather than a half-live site. The grant is on the 202 and NOWHERE else — it is never stored and never replayed on a later read, so it cannot outlive the build it was minted for. A deployment whose grant could not be minted is still created and still completable; it simply carries no `upload`, and a caller with no other way to write should treat that as the failure it is. Billing: the hosting gate runs BEFORE anything is created (402 unfunded, 503 commerce unreachable), and the debit lands on the completion that goes live — never on a queued or failed build. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
79
129
|
* @summary Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage.
|
|
@@ -93,6 +143,24 @@ export declare const SitesApiAxiosParamCreator: (configuration?: Configuration)
|
|
|
93
143
|
* @throws {RequiredError}
|
|
94
144
|
*/
|
|
95
145
|
postSitesBySlugDeploymentsByIdComplete: (slug: string, id: string, projectsComplete: ProjectsComplete, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
146
|
+
/**
|
|
147
|
+
* Attaches one or more CUSTOM public hostnames to this org\'s site. Binding a host you do not own would let you shadow it at the edge, so which outcome you get depends on whether ownership is already established: a SuperAdmin vouches (the operator manages the customer\'s DNS, so its bind IS the proof) and binds VERIFIED immediately; every other caller, INCLUDING an admin of the deployment\'s own brand org, has the host CLAIMED as pending and gets the DNS challenge back in `bound[].records`. A pending claim HOLDS the name so nobody else can take it, but it does not route until POST .../domains/{host}/verify proves control. A hostname we operate is refused to a non-vouched caller (those are assigned by the platform, never claimed), a host another site already holds is a 409, and a name the platform holds is a 400 for EVERY caller — a vouch skips the ownership proof, never the host table\'s own invariant. Claims and binds are idempotent for the same (org, slug), and re-claiming returns the SAME token rather than invalidating a record the customer has already published. The edge cache-tag is flushed afterwards so a newly-verified host serves the current build immediately. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
148
|
+
* @summary Attaches one or more CUSTOM public hostnames to this org\'s site.
|
|
149
|
+
* @param {string} slug Slug is the site the hosts attach to, from the path.
|
|
150
|
+
* @param {ProjectsDomainsBind} projectsDomainsBind
|
|
151
|
+
* @param {*} [options] Override http request option.
|
|
152
|
+
* @throws {RequiredError}
|
|
153
|
+
*/
|
|
154
|
+
postSitesBySlugDomains: (slug: string, projectsDomainsBind: ProjectsDomainsBind, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
155
|
+
/**
|
|
156
|
+
* Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at the edge. It answers 200 either way, with the host\'s honest current state: verified once the TXT record is found, still pending — with the records to publish and the resolver\'s own explanation in `detail` — when it is not. A not-yet is not an error: the check ran, DNS simply has not propagated, and the customer retries. An already-verified host is returned unchanged without re-resolving. On a successful promotion the edge cache-tag is flushed, since the host routes as of that moment. Scope: a validated principal is required (403 without one). Both the site and the claim are resolved within that principal\'s org, so a host claimed by another tenant is \"not claimed by this site\".
|
|
157
|
+
* @summary Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at the edge.
|
|
158
|
+
* @param {string} slug Slug is the project the host is attached to, from the path.
|
|
159
|
+
* @param {string} host Host is the custom hostname, from the path. It is cleaned to its canonical form (lowercased, trailing dot dropped) before anything is looked up.
|
|
160
|
+
* @param {*} [options] Override http request option.
|
|
161
|
+
* @throws {RequiredError}
|
|
162
|
+
*/
|
|
163
|
+
postSitesBySlugDomainsByHostVerify: (slug: string, host: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
96
164
|
/**
|
|
97
165
|
* Promotes a build output into a new release AND goes live with it — create+activate in one call, which is the 99% path. It is exactly the two halves in sequence with no extra semantics, so the staged flow and the one-shot flow can never drift apart: `source` is promoted under the same org-relative rule and the same guards CreateRelease applies, then the site\'s pointer is flipped to it, the public host is claimed and the edge is purged. Idempotent on unchanged bytes — same manifest, same release id, no copy — and billed once, after the release exists. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
98
166
|
* @summary Promotes a build output into a new release AND goes live with it — create+activate in one call, which is the 99% path.
|
|
@@ -102,6 +170,14 @@ export declare const SitesApiAxiosParamCreator: (configuration?: Configuration)
|
|
|
102
170
|
* @throws {RequiredError}
|
|
103
171
|
*/
|
|
104
172
|
postSitesBySlugPublish: (slug: string, projectsPublish: ProjectsPublish, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
173
|
+
/**
|
|
174
|
+
* Flushes the site\'s edge cache without redeploying anything. It invalidates the edge cache-tag `site-<org>-<slug>` and stamps `lastPurgeAt` (unix seconds), and it NEVER writes or deletes the S3 origin — the live build keeps serving; only stale copies held at the edge drop, so the next request re-fetches the current artifact from origin. Idempotent, and an edge that is unconfigured or failing is not fatal: `lastPurgeAt` is still stamped and the answer is still the updated project. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
175
|
+
* @summary Flushes the site\'s edge cache without redeploying anything.
|
|
176
|
+
* @param {string} slug Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
177
|
+
* @param {*} [options] Override http request option.
|
|
178
|
+
* @throws {RequiredError}
|
|
179
|
+
*/
|
|
180
|
+
postSitesBySlugPurge: (slug: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
105
181
|
/**
|
|
106
182
|
* Promotes a build output into a new immutable release WITHOUT serving it — the staged half of publishing, for when you want to check a release before it goes live. Answers 201. `source` is a path RELATIVE to your org\'s own storage space: the org segment is prepended server-side from the validated principal and the bucket is never in the request at all, so a server-side copy can only ever reach bytes your org already owns. The prefix is listed, content-addressed (SHA-256 over the sorted manifest of key/size/etag), and copied into an immutable `<org>/.releases/<slug>/<id>/` prefix; the row is written LAST, so a partial copy is unreachable rather than merely unlikely. Re-publishing an unchanged source is idempotent BY CONSTRUCTION — same bytes, same id, no copy at all. The source must contain index.html at its root and stay under the same file and byte caps an artifact deploy does (413 past them); a source that changes mid-copy is a 409 and the release is abandoned. Each publish also reclaims releases past the retention depth, so a site\'s release space stays bounded. This is the billable half — the hosting gate runs before any copy, and the debit lands once the release exists. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
107
183
|
* @summary Promotes a build output into a new immutable release WITHOUT serving it — the staged half of publishing, for when you want to check a release before it goes live.
|
|
@@ -128,12 +204,37 @@ export declare const SitesApiAxiosParamCreator: (configuration?: Configuration)
|
|
|
128
204
|
* @throws {RequiredError}
|
|
129
205
|
*/
|
|
130
206
|
postSitesDeploy: (projectsDeploySite: ProjectsDeploySite, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
207
|
+
/**
|
|
208
|
+
* Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery catalog, or any live project on the platform (an example a seeded creator published, or another org\'s app serving at <slug>.hanzo.app). Answers 201 with the new project. `slug` names the PARENT to fork and is required. Templates resolve first, and the caller org\'s own private templates ahead of the public gallery, so a curated template slug keeps meaning the same thing even if someone later publishes a live project under it; `variant` picks that template\'s format/page/theme. If no template matches, the slug resolves to the UNIQUE live project that owns it across all orgs — the same resolution the site edge uses to serve <slug>.hanzo.app, so what you can browse is what you can fork. `name` and `target` override the derived project name and slug; everything else is inherited from the parent. A live parent contributes its REPO, so the child builds from the same source — the parent\'s deployed bytes are never copied, because releases are per-tenant by design and the fork publishes its own. The parent it actually resolved is stamped on the child as `forkedFrom`, so attribution is a fact recorded at fork time rather than a claim reconstructed later. It funnels through the SAME create path POST /v1/projects uses, so slug validation, org scoping, ID minting and the 409 on a slug the caller\'s own org already uses are identical. Scope: a validated principal is required (403 without one) and the child is created in THAT principal\'s org.
|
|
209
|
+
* @summary Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery catalog, or any live project on the platform (an example a seeded creator published, or another org\'s app serving at <slug>.hanzo.app).
|
|
210
|
+
* @param {ProjectsFork} projectsFork
|
|
211
|
+
* @param {*} [options] Override http request option.
|
|
212
|
+
* @throws {RequiredError}
|
|
213
|
+
*/
|
|
214
|
+
postSitesFork: (projectsFork: ProjectsFork, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
|
|
131
215
|
};
|
|
132
216
|
/**
|
|
133
217
|
* SitesApi - functional programming interface
|
|
134
218
|
* @export
|
|
135
219
|
*/
|
|
136
220
|
export declare const SitesApiFp: (configuration?: Configuration) => {
|
|
221
|
+
/**
|
|
222
|
+
* Deletes a project and takes its site off the internet. The metadata delete is authoritative and everything after it is best-effort, in this order: the public `<slug>` subdomain binding is released so the slug is free to reclaim, the release rows are dropped so a reclaimed slug never inherits the previous owner\'s rollback menu, the git source is retired on every copy it has so a reclaimed slug never adopts a repository left behind (visibility.go), the S3 origin is purged under BOTH `<org>/<slug>/` and the site\'s sibling release space, and the edge cache-tag is flushed. A failure in any of those is logged and the delete still answers 204 — resurrecting a project because a purge missed would be worse than a leaked prefix. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404 and nothing of theirs is touched.
|
|
223
|
+
* @summary Deletes a project and takes its site off the internet.
|
|
224
|
+
* @param {string} slug Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
225
|
+
* @param {*} [options] Override http request option.
|
|
226
|
+
* @throws {RequiredError}
|
|
227
|
+
*/
|
|
228
|
+
deleteSitesBySlug(slug: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
229
|
+
/**
|
|
230
|
+
* Gives a custom hostname back, so the name is free to reuse. A claim is FIRST-COME and global, so an add-only surface was not ownership but a leak: a customer who mistyped a domain, or claimed one they later moved elsewhere, could neither reuse it nor let anyone else. This is the third writer that closes it. The release is scoped to (host, org, slug), so it can only ever drop THIS tenant\'s own claim, and it is IDEMPOTENT: releasing a host we do not hold is a clean 204, never a 404 that would let a caller probe which hosts other tenants hold. The edge cache-tag is flushed, since the host stops routing here. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
231
|
+
* @summary Gives a custom hostname back, so the name is free to reuse.
|
|
232
|
+
* @param {string} slug Slug is the project the host is attached to, from the path.
|
|
233
|
+
* @param {string} host Host is the custom hostname, from the path. It is cleaned to its canonical form (lowercased, trailing dot dropped) before anything is looked up.
|
|
234
|
+
* @param {*} [options] Override http request option.
|
|
235
|
+
* @throws {RequiredError}
|
|
236
|
+
*/
|
|
237
|
+
deleteSitesBySlugDomainsByHost(slug: string, host: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
|
|
137
238
|
/**
|
|
138
239
|
* Returns the org\'s deployed sites at the pretty URLs they serve at. It reads the SAME org-scoped store as /v1/projects and keeps only the projects that are actually `live`, so a draft or a failed build is not advertised as a site. Scope: a validated principal is required (403 without one) and the list is keyed by that principal\'s org.
|
|
139
240
|
* @summary Returns the org\'s deployed sites at the pretty URLs they serve at.
|
|
@@ -166,6 +267,14 @@ export declare const SitesApiFp: (configuration?: Configuration) => {
|
|
|
166
267
|
* @throws {RequiredError}
|
|
167
268
|
*/
|
|
168
269
|
getSitesBySlugDeploymentsById(slug: string, id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsDeployment>>;
|
|
270
|
+
/**
|
|
271
|
+
* Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes. `domains` is the routing answer — the hosts that are verified right now — while `claims` is the full panel, one row per host, each saying whether it is live or pending and, if pending, exactly what to publish. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
272
|
+
* @summary Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes.
|
|
273
|
+
* @param {string} slug Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
274
|
+
* @param {*} [options] Override http request option.
|
|
275
|
+
* @throws {RequiredError}
|
|
276
|
+
*/
|
|
277
|
+
getSitesBySlugDomains(slug: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsDomains>>;
|
|
169
278
|
/**
|
|
170
279
|
* Returns a site\'s releases newest-first, marking the active one — the rollback menu. Each row carries the release id to activate, the source it was promoted from, its object and byte counts, and the URL if it is the one serving. Retention bounds the list, so it is the set that can actually still be rolled back to, not a full history. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
171
280
|
* @summary Returns a site\'s releases newest-first, marking the active one — the rollback menu.
|
|
@@ -174,6 +283,15 @@ export declare const SitesApiFp: (configuration?: Configuration) => {
|
|
|
174
283
|
* @throws {RequiredError}
|
|
175
284
|
*/
|
|
176
285
|
getSitesBySlugReleases(slug: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ProjectsRelease>>>;
|
|
286
|
+
/**
|
|
287
|
+
* Changes a project\'s settings, and only the settings you send. Every field is optional and absent means \"leave it\": `name` may not be blanked, `framework` must stay a known build hint, and `cacheControl` is capped at 256 characters with no newlines (it becomes a response header). `visibility` flips public/private under the same rule as create — public is free, private needs a funded org. `upstream` and `license` are free-text credit for third-party work, and sending \"\" clears one. Changing anything reconciles the project\'s canonical git repo, so a visibility change reaches the source and not just the listing. `hidden`/`hiddenReason` are platform MODERATION and are ignored unless the caller is a platform admin; they remove a project from the public catalogue without touching the publisher\'s own visibility choice, so un-hiding restores exactly what they asked for. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
288
|
+
* @summary Changes a project\'s settings, and only the settings you send.
|
|
289
|
+
* @param {string} slug Slug is the project to update, from the path. The URL is the addressing authority — a `slug` in the body cannot move the write to another project.
|
|
290
|
+
* @param {ProjectsUpdate} projectsUpdate
|
|
291
|
+
* @param {*} [options] Override http request option.
|
|
292
|
+
* @throws {RequiredError}
|
|
293
|
+
*/
|
|
294
|
+
patchSitesBySlug(slug: string, projectsUpdate: ProjectsUpdate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsProject>>;
|
|
177
295
|
/**
|
|
178
296
|
* Generates a self-contained, mobile-responsive static site from a natural-language brief and deploys it live in one call. One inference call turns `brief` (capped at 8 KiB) into a file manifest, which then runs through the SAME validation, guards and viewport guarantee as a hand-supplied manifest: index.html required at the root, absolute and traversal paths rejected, per-file and total size capped, and a mobile viewport meta tag injected into every HTML document that lacks one. The generated site is fully inline — no CDNs, no remote fonts or images — so it is CSP-safe. `slug` and `name` are optional: the model\'s own title is preferred, and a slug is derived or minted when none is given. It writes into the SAME org-scoped store as /v1/projects — it ensures a project (framework `static`) for the resolved slug and records a deployment — so this is a second door onto one publish pipeline, not a second copy of project state. Ordering is the billing contract: the hosting gate runs BEFORE any inference or upload, so a denied gate generates and uploads NOTHING, and the debit lands once, only after the site is actually live. The tokens are billed to the same ledger the hosting fee was reserved against. Answers 503 when object storage or inference is unconfigured, and 400 when the model\'s manifest cannot be parsed or fails the guards. Scope: a validated principal is required (403 without one) and the site is published into THAT principal\'s org.
|
|
179
297
|
* @summary Generates a self-contained, mobile-responsive static site from a natural-language brief and deploys it live in one call.
|
|
@@ -182,6 +300,15 @@ export declare const SitesApiFp: (configuration?: Configuration) => {
|
|
|
182
300
|
* @throws {RequiredError}
|
|
183
301
|
*/
|
|
184
302
|
postSites(projectsBuildSite: ProjectsBuildSite, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsSiteDeploy>>;
|
|
303
|
+
/**
|
|
304
|
+
* Takes a built site live at `https://<slug>.hanzo.app` in one call. The body is the site itself — a `zip` or `tar.gz` holding `index.html` at its root (or a single wrapper directory that does), sent raw or as a multipart file part. It is unpacked to the site\'s own storage prefix and served immediately, answering the finished deployment. It is bounded by the edge body limit (16 MiB by default), and that bound is the whole reason the other path exists: an oversized POST is refused by the server BEFORE any handler runs and surfaces as an opaque `400 Error when parsing request` that reads like a malformed payload rather than a size cap. A site too large for one archive opens a deployment with `POST /v1/sites/{slug}/deployments` instead and writes its files straight to storage against the scoped grant that answers with — no body limit, and no bytes through this API at all. Billing is fail-closed and fails FIRST: the hosting gate runs before anything is parsed or uploaded, so an unfunded org is 402 and an unreachable commerce is 503 with nothing written. The debit lands only on success — a failed upload is never billed and never flips the live site — and a redeploy answers the SAME URL, because slug and apex are stable. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404. Object storage must be configured (503); an archive that does not walk is a 400 and one over the size cap is a 413.
|
|
305
|
+
* @summary Upload a built site as one archive and serve it
|
|
306
|
+
* @param {string} slug
|
|
307
|
+
* @param {File} [body]
|
|
308
|
+
* @param {*} [options] Override http request option.
|
|
309
|
+
* @throws {RequiredError}
|
|
310
|
+
*/
|
|
311
|
+
postSitesBySlugDeploy(slug: string, body?: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsDeployment>>;
|
|
185
312
|
/**
|
|
186
313
|
* Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage. Answers 202. This is the path for a site too large to send as one archive: a real export is hundreds of megabytes against a 16 MiB body limit, so the bytes deliberately do NOT pass through the API. The answer carries `bucket`, `prefix` and `upload` — a presigned POST policy that S3 itself confines to this site\'s prefix (starts-with `<org>/<slug>/`), expires in 30 minutes and bounds each object. So a build writes its own files and holds no standing bucket credential; there is nothing to rotate and nothing that leaks between tenants. Never guess the prefix — it is server-derived, and a guessed one lands where nothing is served. The deployment is `queued` until POST .../deployments/{id}/complete flips it live (or error). That completion is also where DELETION happens: the grant authorizes writes only, so a build cannot remove a file, and cloud reconciles the prefix against the `keys` manifest the completion carries. A build that dies before completing leaves the deployment queued rather than a half-live site. The grant is on the 202 and NOWHERE else — it is never stored and never replayed on a later read, so it cannot outlive the build it was minted for. A deployment whose grant could not be minted is still created and still completable; it simply carries no `upload`, and a caller with no other way to write should treat that as the failure it is. Billing: the hosting gate runs BEFORE anything is created (402 unfunded, 503 commerce unreachable), and the debit lands on the completion that goes live — never on a queued or failed build. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
187
314
|
* @summary Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage.
|
|
@@ -201,6 +328,24 @@ export declare const SitesApiFp: (configuration?: Configuration) => {
|
|
|
201
328
|
* @throws {RequiredError}
|
|
202
329
|
*/
|
|
203
330
|
postSitesBySlugDeploymentsByIdComplete(slug: string, id: string, projectsComplete: ProjectsComplete, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsDeployment>>;
|
|
331
|
+
/**
|
|
332
|
+
* Attaches one or more CUSTOM public hostnames to this org\'s site. Binding a host you do not own would let you shadow it at the edge, so which outcome you get depends on whether ownership is already established: a SuperAdmin vouches (the operator manages the customer\'s DNS, so its bind IS the proof) and binds VERIFIED immediately; every other caller, INCLUDING an admin of the deployment\'s own brand org, has the host CLAIMED as pending and gets the DNS challenge back in `bound[].records`. A pending claim HOLDS the name so nobody else can take it, but it does not route until POST .../domains/{host}/verify proves control. A hostname we operate is refused to a non-vouched caller (those are assigned by the platform, never claimed), a host another site already holds is a 409, and a name the platform holds is a 400 for EVERY caller — a vouch skips the ownership proof, never the host table\'s own invariant. Claims and binds are idempotent for the same (org, slug), and re-claiming returns the SAME token rather than invalidating a record the customer has already published. The edge cache-tag is flushed afterwards so a newly-verified host serves the current build immediately. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
333
|
+
* @summary Attaches one or more CUSTOM public hostnames to this org\'s site.
|
|
334
|
+
* @param {string} slug Slug is the site the hosts attach to, from the path.
|
|
335
|
+
* @param {ProjectsDomainsBind} projectsDomainsBind
|
|
336
|
+
* @param {*} [options] Override http request option.
|
|
337
|
+
* @throws {RequiredError}
|
|
338
|
+
*/
|
|
339
|
+
postSitesBySlugDomains(slug: string, projectsDomainsBind: ProjectsDomainsBind, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsBoundDomains>>;
|
|
340
|
+
/**
|
|
341
|
+
* Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at the edge. It answers 200 either way, with the host\'s honest current state: verified once the TXT record is found, still pending — with the records to publish and the resolver\'s own explanation in `detail` — when it is not. A not-yet is not an error: the check ran, DNS simply has not propagated, and the customer retries. An already-verified host is returned unchanged without re-resolving. On a successful promotion the edge cache-tag is flushed, since the host routes as of that moment. Scope: a validated principal is required (403 without one). Both the site and the claim are resolved within that principal\'s org, so a host claimed by another tenant is \"not claimed by this site\".
|
|
342
|
+
* @summary Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at the edge.
|
|
343
|
+
* @param {string} slug Slug is the project the host is attached to, from the path.
|
|
344
|
+
* @param {string} host Host is the custom hostname, from the path. It is cleaned to its canonical form (lowercased, trailing dot dropped) before anything is looked up.
|
|
345
|
+
* @param {*} [options] Override http request option.
|
|
346
|
+
* @throws {RequiredError}
|
|
347
|
+
*/
|
|
348
|
+
postSitesBySlugDomainsByHostVerify(slug: string, host: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsDomain>>;
|
|
204
349
|
/**
|
|
205
350
|
* Promotes a build output into a new release AND goes live with it — create+activate in one call, which is the 99% path. It is exactly the two halves in sequence with no extra semantics, so the staged flow and the one-shot flow can never drift apart: `source` is promoted under the same org-relative rule and the same guards CreateRelease applies, then the site\'s pointer is flipped to it, the public host is claimed and the edge is purged. Idempotent on unchanged bytes — same manifest, same release id, no copy — and billed once, after the release exists. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
206
351
|
* @summary Promotes a build output into a new release AND goes live with it — create+activate in one call, which is the 99% path.
|
|
@@ -210,6 +355,14 @@ export declare const SitesApiFp: (configuration?: Configuration) => {
|
|
|
210
355
|
* @throws {RequiredError}
|
|
211
356
|
*/
|
|
212
357
|
postSitesBySlugPublish(slug: string, projectsPublish: ProjectsPublish, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsRelease>>;
|
|
358
|
+
/**
|
|
359
|
+
* Flushes the site\'s edge cache without redeploying anything. It invalidates the edge cache-tag `site-<org>-<slug>` and stamps `lastPurgeAt` (unix seconds), and it NEVER writes or deletes the S3 origin — the live build keeps serving; only stale copies held at the edge drop, so the next request re-fetches the current artifact from origin. Idempotent, and an edge that is unconfigured or failing is not fatal: `lastPurgeAt` is still stamped and the answer is still the updated project. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
360
|
+
* @summary Flushes the site\'s edge cache without redeploying anything.
|
|
361
|
+
* @param {string} slug Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
362
|
+
* @param {*} [options] Override http request option.
|
|
363
|
+
* @throws {RequiredError}
|
|
364
|
+
*/
|
|
365
|
+
postSitesBySlugPurge(slug: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsProject>>;
|
|
213
366
|
/**
|
|
214
367
|
* Promotes a build output into a new immutable release WITHOUT serving it — the staged half of publishing, for when you want to check a release before it goes live. Answers 201. `source` is a path RELATIVE to your org\'s own storage space: the org segment is prepended server-side from the validated principal and the bucket is never in the request at all, so a server-side copy can only ever reach bytes your org already owns. The prefix is listed, content-addressed (SHA-256 over the sorted manifest of key/size/etag), and copied into an immutable `<org>/.releases/<slug>/<id>/` prefix; the row is written LAST, so a partial copy is unreachable rather than merely unlikely. Re-publishing an unchanged source is idempotent BY CONSTRUCTION — same bytes, same id, no copy at all. The source must contain index.html at its root and stay under the same file and byte caps an artifact deploy does (413 past them); a source that changes mid-copy is a 409 and the release is abandoned. Each publish also reclaims releases past the retention depth, so a site\'s release space stays bounded. This is the billable half — the hosting gate runs before any copy, and the debit lands once the release exists. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
215
368
|
* @summary Promotes a build output into a new immutable release WITHOUT serving it — the staged half of publishing, for when you want to check a release before it goes live.
|
|
@@ -236,12 +389,36 @@ export declare const SitesApiFp: (configuration?: Configuration) => {
|
|
|
236
389
|
* @throws {RequiredError}
|
|
237
390
|
*/
|
|
238
391
|
postSitesDeploy(projectsDeploySite: ProjectsDeploySite, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsSiteDeploy>>;
|
|
392
|
+
/**
|
|
393
|
+
* Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery catalog, or any live project on the platform (an example a seeded creator published, or another org\'s app serving at <slug>.hanzo.app). Answers 201 with the new project. `slug` names the PARENT to fork and is required. Templates resolve first, and the caller org\'s own private templates ahead of the public gallery, so a curated template slug keeps meaning the same thing even if someone later publishes a live project under it; `variant` picks that template\'s format/page/theme. If no template matches, the slug resolves to the UNIQUE live project that owns it across all orgs — the same resolution the site edge uses to serve <slug>.hanzo.app, so what you can browse is what you can fork. `name` and `target` override the derived project name and slug; everything else is inherited from the parent. A live parent contributes its REPO, so the child builds from the same source — the parent\'s deployed bytes are never copied, because releases are per-tenant by design and the fork publishes its own. The parent it actually resolved is stamped on the child as `forkedFrom`, so attribution is a fact recorded at fork time rather than a claim reconstructed later. It funnels through the SAME create path POST /v1/projects uses, so slug validation, org scoping, ID minting and the 409 on a slug the caller\'s own org already uses are identical. Scope: a validated principal is required (403 without one) and the child is created in THAT principal\'s org.
|
|
394
|
+
* @summary Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery catalog, or any live project on the platform (an example a seeded creator published, or another org\'s app serving at <slug>.hanzo.app).
|
|
395
|
+
* @param {ProjectsFork} projectsFork
|
|
396
|
+
* @param {*} [options] Override http request option.
|
|
397
|
+
* @throws {RequiredError}
|
|
398
|
+
*/
|
|
399
|
+
postSitesFork(projectsFork: ProjectsFork, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectsProject>>;
|
|
239
400
|
};
|
|
240
401
|
/**
|
|
241
402
|
* SitesApi - factory interface
|
|
242
403
|
* @export
|
|
243
404
|
*/
|
|
244
405
|
export declare const SitesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
|
|
406
|
+
/**
|
|
407
|
+
* Deletes a project and takes its site off the internet. The metadata delete is authoritative and everything after it is best-effort, in this order: the public `<slug>` subdomain binding is released so the slug is free to reclaim, the release rows are dropped so a reclaimed slug never inherits the previous owner\'s rollback menu, the git source is retired on every copy it has so a reclaimed slug never adopts a repository left behind (visibility.go), the S3 origin is purged under BOTH `<org>/<slug>/` and the site\'s sibling release space, and the edge cache-tag is flushed. A failure in any of those is logged and the delete still answers 204 — resurrecting a project because a purge missed would be worse than a leaked prefix. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404 and nothing of theirs is touched.
|
|
408
|
+
* @summary Deletes a project and takes its site off the internet.
|
|
409
|
+
* @param {SitesApiDeleteSitesBySlugRequest} requestParameters Request parameters.
|
|
410
|
+
* @param {*} [options] Override http request option.
|
|
411
|
+
* @throws {RequiredError}
|
|
412
|
+
*/
|
|
413
|
+
deleteSitesBySlug(requestParameters: SitesApiDeleteSitesBySlugRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
414
|
+
/**
|
|
415
|
+
* Gives a custom hostname back, so the name is free to reuse. A claim is FIRST-COME and global, so an add-only surface was not ownership but a leak: a customer who mistyped a domain, or claimed one they later moved elsewhere, could neither reuse it nor let anyone else. This is the third writer that closes it. The release is scoped to (host, org, slug), so it can only ever drop THIS tenant\'s own claim, and it is IDEMPOTENT: releasing a host we do not hold is a clean 204, never a 404 that would let a caller probe which hosts other tenants hold. The edge cache-tag is flushed, since the host stops routing here. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
416
|
+
* @summary Gives a custom hostname back, so the name is free to reuse.
|
|
417
|
+
* @param {SitesApiDeleteSitesBySlugDomainsByHostRequest} requestParameters Request parameters.
|
|
418
|
+
* @param {*} [options] Override http request option.
|
|
419
|
+
* @throws {RequiredError}
|
|
420
|
+
*/
|
|
421
|
+
deleteSitesBySlugDomainsByHost(requestParameters: SitesApiDeleteSitesBySlugDomainsByHostRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
|
|
245
422
|
/**
|
|
246
423
|
* Returns the org\'s deployed sites at the pretty URLs they serve at. It reads the SAME org-scoped store as /v1/projects and keeps only the projects that are actually `live`, so a draft or a failed build is not advertised as a site. Scope: a validated principal is required (403 without one) and the list is keyed by that principal\'s org.
|
|
247
424
|
* @summary Returns the org\'s deployed sites at the pretty URLs they serve at.
|
|
@@ -273,6 +450,14 @@ export declare const SitesApiFactory: (configuration?: Configuration, basePath?:
|
|
|
273
450
|
* @throws {RequiredError}
|
|
274
451
|
*/
|
|
275
452
|
getSitesBySlugDeploymentsById(requestParameters: SitesApiGetSitesBySlugDeploymentsByIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsDeployment>;
|
|
453
|
+
/**
|
|
454
|
+
* Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes. `domains` is the routing answer — the hosts that are verified right now — while `claims` is the full panel, one row per host, each saying whether it is live or pending and, if pending, exactly what to publish. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
455
|
+
* @summary Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes.
|
|
456
|
+
* @param {SitesApiGetSitesBySlugDomainsRequest} requestParameters Request parameters.
|
|
457
|
+
* @param {*} [options] Override http request option.
|
|
458
|
+
* @throws {RequiredError}
|
|
459
|
+
*/
|
|
460
|
+
getSitesBySlugDomains(requestParameters: SitesApiGetSitesBySlugDomainsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsDomains>;
|
|
276
461
|
/**
|
|
277
462
|
* Returns a site\'s releases newest-first, marking the active one — the rollback menu. Each row carries the release id to activate, the source it was promoted from, its object and byte counts, and the URL if it is the one serving. Retention bounds the list, so it is the set that can actually still be rolled back to, not a full history. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
278
463
|
* @summary Returns a site\'s releases newest-first, marking the active one — the rollback menu.
|
|
@@ -281,6 +466,14 @@ export declare const SitesApiFactory: (configuration?: Configuration, basePath?:
|
|
|
281
466
|
* @throws {RequiredError}
|
|
282
467
|
*/
|
|
283
468
|
getSitesBySlugReleases(requestParameters: SitesApiGetSitesBySlugReleasesRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<ProjectsRelease>>;
|
|
469
|
+
/**
|
|
470
|
+
* Changes a project\'s settings, and only the settings you send. Every field is optional and absent means \"leave it\": `name` may not be blanked, `framework` must stay a known build hint, and `cacheControl` is capped at 256 characters with no newlines (it becomes a response header). `visibility` flips public/private under the same rule as create — public is free, private needs a funded org. `upstream` and `license` are free-text credit for third-party work, and sending \"\" clears one. Changing anything reconciles the project\'s canonical git repo, so a visibility change reaches the source and not just the listing. `hidden`/`hiddenReason` are platform MODERATION and are ignored unless the caller is a platform admin; they remove a project from the public catalogue without touching the publisher\'s own visibility choice, so un-hiding restores exactly what they asked for. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
471
|
+
* @summary Changes a project\'s settings, and only the settings you send.
|
|
472
|
+
* @param {SitesApiPatchSitesBySlugRequest} requestParameters Request parameters.
|
|
473
|
+
* @param {*} [options] Override http request option.
|
|
474
|
+
* @throws {RequiredError}
|
|
475
|
+
*/
|
|
476
|
+
patchSitesBySlug(requestParameters: SitesApiPatchSitesBySlugRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsProject>;
|
|
284
477
|
/**
|
|
285
478
|
* Generates a self-contained, mobile-responsive static site from a natural-language brief and deploys it live in one call. One inference call turns `brief` (capped at 8 KiB) into a file manifest, which then runs through the SAME validation, guards and viewport guarantee as a hand-supplied manifest: index.html required at the root, absolute and traversal paths rejected, per-file and total size capped, and a mobile viewport meta tag injected into every HTML document that lacks one. The generated site is fully inline — no CDNs, no remote fonts or images — so it is CSP-safe. `slug` and `name` are optional: the model\'s own title is preferred, and a slug is derived or minted when none is given. It writes into the SAME org-scoped store as /v1/projects — it ensures a project (framework `static`) for the resolved slug and records a deployment — so this is a second door onto one publish pipeline, not a second copy of project state. Ordering is the billing contract: the hosting gate runs BEFORE any inference or upload, so a denied gate generates and uploads NOTHING, and the debit lands once, only after the site is actually live. The tokens are billed to the same ledger the hosting fee was reserved against. Answers 503 when object storage or inference is unconfigured, and 400 when the model\'s manifest cannot be parsed or fails the guards. Scope: a validated principal is required (403 without one) and the site is published into THAT principal\'s org.
|
|
286
479
|
* @summary Generates a self-contained, mobile-responsive static site from a natural-language brief and deploys it live in one call.
|
|
@@ -289,6 +482,14 @@ export declare const SitesApiFactory: (configuration?: Configuration, basePath?:
|
|
|
289
482
|
* @throws {RequiredError}
|
|
290
483
|
*/
|
|
291
484
|
postSites(requestParameters: SitesApiPostSitesRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsSiteDeploy>;
|
|
485
|
+
/**
|
|
486
|
+
* Takes a built site live at `https://<slug>.hanzo.app` in one call. The body is the site itself — a `zip` or `tar.gz` holding `index.html` at its root (or a single wrapper directory that does), sent raw or as a multipart file part. It is unpacked to the site\'s own storage prefix and served immediately, answering the finished deployment. It is bounded by the edge body limit (16 MiB by default), and that bound is the whole reason the other path exists: an oversized POST is refused by the server BEFORE any handler runs and surfaces as an opaque `400 Error when parsing request` that reads like a malformed payload rather than a size cap. A site too large for one archive opens a deployment with `POST /v1/sites/{slug}/deployments` instead and writes its files straight to storage against the scoped grant that answers with — no body limit, and no bytes through this API at all. Billing is fail-closed and fails FIRST: the hosting gate runs before anything is parsed or uploaded, so an unfunded org is 402 and an unreachable commerce is 503 with nothing written. The debit lands only on success — a failed upload is never billed and never flips the live site — and a redeploy answers the SAME URL, because slug and apex are stable. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404. Object storage must be configured (503); an archive that does not walk is a 400 and one over the size cap is a 413.
|
|
487
|
+
* @summary Upload a built site as one archive and serve it
|
|
488
|
+
* @param {SitesApiPostSitesBySlugDeployRequest} requestParameters Request parameters.
|
|
489
|
+
* @param {*} [options] Override http request option.
|
|
490
|
+
* @throws {RequiredError}
|
|
491
|
+
*/
|
|
492
|
+
postSitesBySlugDeploy(requestParameters: SitesApiPostSitesBySlugDeployRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsDeployment>;
|
|
292
493
|
/**
|
|
293
494
|
* Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage. Answers 202. This is the path for a site too large to send as one archive: a real export is hundreds of megabytes against a 16 MiB body limit, so the bytes deliberately do NOT pass through the API. The answer carries `bucket`, `prefix` and `upload` — a presigned POST policy that S3 itself confines to this site\'s prefix (starts-with `<org>/<slug>/`), expires in 30 minutes and bounds each object. So a build writes its own files and holds no standing bucket credential; there is nothing to rotate and nothing that leaks between tenants. Never guess the prefix — it is server-derived, and a guessed one lands where nothing is served. The deployment is `queued` until POST .../deployments/{id}/complete flips it live (or error). That completion is also where DELETION happens: the grant authorizes writes only, so a build cannot remove a file, and cloud reconciles the prefix against the `keys` manifest the completion carries. A build that dies before completing leaves the deployment queued rather than a half-live site. The grant is on the 202 and NOWHERE else — it is never stored and never replayed on a later read, so it cannot outlive the build it was minted for. A deployment whose grant could not be minted is still created and still completable; it simply carries no `upload`, and a caller with no other way to write should treat that as the failure it is. Billing: the hosting gate runs BEFORE anything is created (402 unfunded, 503 commerce unreachable), and the debit lands on the completion that goes live — never on a queued or failed build. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
294
495
|
* @summary Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage.
|
|
@@ -305,6 +506,22 @@ export declare const SitesApiFactory: (configuration?: Configuration, basePath?:
|
|
|
305
506
|
* @throws {RequiredError}
|
|
306
507
|
*/
|
|
307
508
|
postSitesBySlugDeploymentsByIdComplete(requestParameters: SitesApiPostSitesBySlugDeploymentsByIdCompleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsDeployment>;
|
|
509
|
+
/**
|
|
510
|
+
* Attaches one or more CUSTOM public hostnames to this org\'s site. Binding a host you do not own would let you shadow it at the edge, so which outcome you get depends on whether ownership is already established: a SuperAdmin vouches (the operator manages the customer\'s DNS, so its bind IS the proof) and binds VERIFIED immediately; every other caller, INCLUDING an admin of the deployment\'s own brand org, has the host CLAIMED as pending and gets the DNS challenge back in `bound[].records`. A pending claim HOLDS the name so nobody else can take it, but it does not route until POST .../domains/{host}/verify proves control. A hostname we operate is refused to a non-vouched caller (those are assigned by the platform, never claimed), a host another site already holds is a 409, and a name the platform holds is a 400 for EVERY caller — a vouch skips the ownership proof, never the host table\'s own invariant. Claims and binds are idempotent for the same (org, slug), and re-claiming returns the SAME token rather than invalidating a record the customer has already published. The edge cache-tag is flushed afterwards so a newly-verified host serves the current build immediately. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
511
|
+
* @summary Attaches one or more CUSTOM public hostnames to this org\'s site.
|
|
512
|
+
* @param {SitesApiPostSitesBySlugDomainsRequest} requestParameters Request parameters.
|
|
513
|
+
* @param {*} [options] Override http request option.
|
|
514
|
+
* @throws {RequiredError}
|
|
515
|
+
*/
|
|
516
|
+
postSitesBySlugDomains(requestParameters: SitesApiPostSitesBySlugDomainsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsBoundDomains>;
|
|
517
|
+
/**
|
|
518
|
+
* Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at the edge. It answers 200 either way, with the host\'s honest current state: verified once the TXT record is found, still pending — with the records to publish and the resolver\'s own explanation in `detail` — when it is not. A not-yet is not an error: the check ran, DNS simply has not propagated, and the customer retries. An already-verified host is returned unchanged without re-resolving. On a successful promotion the edge cache-tag is flushed, since the host routes as of that moment. Scope: a validated principal is required (403 without one). Both the site and the claim are resolved within that principal\'s org, so a host claimed by another tenant is \"not claimed by this site\".
|
|
519
|
+
* @summary Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at the edge.
|
|
520
|
+
* @param {SitesApiPostSitesBySlugDomainsByHostVerifyRequest} requestParameters Request parameters.
|
|
521
|
+
* @param {*} [options] Override http request option.
|
|
522
|
+
* @throws {RequiredError}
|
|
523
|
+
*/
|
|
524
|
+
postSitesBySlugDomainsByHostVerify(requestParameters: SitesApiPostSitesBySlugDomainsByHostVerifyRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsDomain>;
|
|
308
525
|
/**
|
|
309
526
|
* Promotes a build output into a new release AND goes live with it — create+activate in one call, which is the 99% path. It is exactly the two halves in sequence with no extra semantics, so the staged flow and the one-shot flow can never drift apart: `source` is promoted under the same org-relative rule and the same guards CreateRelease applies, then the site\'s pointer is flipped to it, the public host is claimed and the edge is purged. Idempotent on unchanged bytes — same manifest, same release id, no copy — and billed once, after the release exists. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
310
527
|
* @summary Promotes a build output into a new release AND goes live with it — create+activate in one call, which is the 99% path.
|
|
@@ -313,6 +530,14 @@ export declare const SitesApiFactory: (configuration?: Configuration, basePath?:
|
|
|
313
530
|
* @throws {RequiredError}
|
|
314
531
|
*/
|
|
315
532
|
postSitesBySlugPublish(requestParameters: SitesApiPostSitesBySlugPublishRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsRelease>;
|
|
533
|
+
/**
|
|
534
|
+
* Flushes the site\'s edge cache without redeploying anything. It invalidates the edge cache-tag `site-<org>-<slug>` and stamps `lastPurgeAt` (unix seconds), and it NEVER writes or deletes the S3 origin — the live build keeps serving; only stale copies held at the edge drop, so the next request re-fetches the current artifact from origin. Idempotent, and an edge that is unconfigured or failing is not fatal: `lastPurgeAt` is still stamped and the answer is still the updated project. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
535
|
+
* @summary Flushes the site\'s edge cache without redeploying anything.
|
|
536
|
+
* @param {SitesApiPostSitesBySlugPurgeRequest} requestParameters Request parameters.
|
|
537
|
+
* @param {*} [options] Override http request option.
|
|
538
|
+
* @throws {RequiredError}
|
|
539
|
+
*/
|
|
540
|
+
postSitesBySlugPurge(requestParameters: SitesApiPostSitesBySlugPurgeRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsProject>;
|
|
316
541
|
/**
|
|
317
542
|
* Promotes a build output into a new immutable release WITHOUT serving it — the staged half of publishing, for when you want to check a release before it goes live. Answers 201. `source` is a path RELATIVE to your org\'s own storage space: the org segment is prepended server-side from the validated principal and the bucket is never in the request at all, so a server-side copy can only ever reach bytes your org already owns. The prefix is listed, content-addressed (SHA-256 over the sorted manifest of key/size/etag), and copied into an immutable `<org>/.releases/<slug>/<id>/` prefix; the row is written LAST, so a partial copy is unreachable rather than merely unlikely. Re-publishing an unchanged source is idempotent BY CONSTRUCTION — same bytes, same id, no copy at all. The source must contain index.html at its root and stay under the same file and byte caps an artifact deploy does (413 past them); a source that changes mid-copy is a 409 and the release is abandoned. Each publish also reclaims releases past the retention depth, so a site\'s release space stays bounded. This is the billable half — the hosting gate runs before any copy, and the debit lands once the release exists. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
318
543
|
* @summary Promotes a build output into a new immutable release WITHOUT serving it — the staged half of publishing, for when you want to check a release before it goes live.
|
|
@@ -337,7 +562,47 @@ export declare const SitesApiFactory: (configuration?: Configuration, basePath?:
|
|
|
337
562
|
* @throws {RequiredError}
|
|
338
563
|
*/
|
|
339
564
|
postSitesDeploy(requestParameters: SitesApiPostSitesDeployRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsSiteDeploy>;
|
|
565
|
+
/**
|
|
566
|
+
* Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery catalog, or any live project on the platform (an example a seeded creator published, or another org\'s app serving at <slug>.hanzo.app). Answers 201 with the new project. `slug` names the PARENT to fork and is required. Templates resolve first, and the caller org\'s own private templates ahead of the public gallery, so a curated template slug keeps meaning the same thing even if someone later publishes a live project under it; `variant` picks that template\'s format/page/theme. If no template matches, the slug resolves to the UNIQUE live project that owns it across all orgs — the same resolution the site edge uses to serve <slug>.hanzo.app, so what you can browse is what you can fork. `name` and `target` override the derived project name and slug; everything else is inherited from the parent. A live parent contributes its REPO, so the child builds from the same source — the parent\'s deployed bytes are never copied, because releases are per-tenant by design and the fork publishes its own. The parent it actually resolved is stamped on the child as `forkedFrom`, so attribution is a fact recorded at fork time rather than a claim reconstructed later. It funnels through the SAME create path POST /v1/projects uses, so slug validation, org scoping, ID minting and the 409 on a slug the caller\'s own org already uses are identical. Scope: a validated principal is required (403 without one) and the child is created in THAT principal\'s org.
|
|
567
|
+
* @summary Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery catalog, or any live project on the platform (an example a seeded creator published, or another org\'s app serving at <slug>.hanzo.app).
|
|
568
|
+
* @param {SitesApiPostSitesForkRequest} requestParameters Request parameters.
|
|
569
|
+
* @param {*} [options] Override http request option.
|
|
570
|
+
* @throws {RequiredError}
|
|
571
|
+
*/
|
|
572
|
+
postSitesFork(requestParameters: SitesApiPostSitesForkRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectsProject>;
|
|
340
573
|
};
|
|
574
|
+
/**
|
|
575
|
+
* Request parameters for deleteSitesBySlug operation in SitesApi.
|
|
576
|
+
* @export
|
|
577
|
+
* @interface SitesApiDeleteSitesBySlugRequest
|
|
578
|
+
*/
|
|
579
|
+
export interface SitesApiDeleteSitesBySlugRequest {
|
|
580
|
+
/**
|
|
581
|
+
* Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
582
|
+
* @type {string}
|
|
583
|
+
* @memberof SitesApiDeleteSitesBySlug
|
|
584
|
+
*/
|
|
585
|
+
readonly slug: string;
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Request parameters for deleteSitesBySlugDomainsByHost operation in SitesApi.
|
|
589
|
+
* @export
|
|
590
|
+
* @interface SitesApiDeleteSitesBySlugDomainsByHostRequest
|
|
591
|
+
*/
|
|
592
|
+
export interface SitesApiDeleteSitesBySlugDomainsByHostRequest {
|
|
593
|
+
/**
|
|
594
|
+
* Slug is the project the host is attached to, from the path.
|
|
595
|
+
* @type {string}
|
|
596
|
+
* @memberof SitesApiDeleteSitesBySlugDomainsByHost
|
|
597
|
+
*/
|
|
598
|
+
readonly slug: string;
|
|
599
|
+
/**
|
|
600
|
+
* Host is the custom hostname, from the path. It is cleaned to its canonical form (lowercased, trailing dot dropped) before anything is looked up.
|
|
601
|
+
* @type {string}
|
|
602
|
+
* @memberof SitesApiDeleteSitesBySlugDomainsByHost
|
|
603
|
+
*/
|
|
604
|
+
readonly host: string;
|
|
605
|
+
}
|
|
341
606
|
/**
|
|
342
607
|
* Request parameters for getSitesBySlug operation in SitesApi.
|
|
343
608
|
* @export
|
|
@@ -383,6 +648,19 @@ export interface SitesApiGetSitesBySlugDeploymentsByIdRequest {
|
|
|
383
648
|
*/
|
|
384
649
|
readonly id: string;
|
|
385
650
|
}
|
|
651
|
+
/**
|
|
652
|
+
* Request parameters for getSitesBySlugDomains operation in SitesApi.
|
|
653
|
+
* @export
|
|
654
|
+
* @interface SitesApiGetSitesBySlugDomainsRequest
|
|
655
|
+
*/
|
|
656
|
+
export interface SitesApiGetSitesBySlugDomainsRequest {
|
|
657
|
+
/**
|
|
658
|
+
* Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
659
|
+
* @type {string}
|
|
660
|
+
* @memberof SitesApiGetSitesBySlugDomains
|
|
661
|
+
*/
|
|
662
|
+
readonly slug: string;
|
|
663
|
+
}
|
|
386
664
|
/**
|
|
387
665
|
* Request parameters for getSitesBySlugReleases operation in SitesApi.
|
|
388
666
|
* @export
|
|
@@ -396,6 +674,25 @@ export interface SitesApiGetSitesBySlugReleasesRequest {
|
|
|
396
674
|
*/
|
|
397
675
|
readonly slug: string;
|
|
398
676
|
}
|
|
677
|
+
/**
|
|
678
|
+
* Request parameters for patchSitesBySlug operation in SitesApi.
|
|
679
|
+
* @export
|
|
680
|
+
* @interface SitesApiPatchSitesBySlugRequest
|
|
681
|
+
*/
|
|
682
|
+
export interface SitesApiPatchSitesBySlugRequest {
|
|
683
|
+
/**
|
|
684
|
+
* Slug is the project to update, from the path. The URL is the addressing authority — a `slug` in the body cannot move the write to another project.
|
|
685
|
+
* @type {string}
|
|
686
|
+
* @memberof SitesApiPatchSitesBySlug
|
|
687
|
+
*/
|
|
688
|
+
readonly slug: string;
|
|
689
|
+
/**
|
|
690
|
+
*
|
|
691
|
+
* @type {ProjectsUpdate}
|
|
692
|
+
* @memberof SitesApiPatchSitesBySlug
|
|
693
|
+
*/
|
|
694
|
+
readonly projectsUpdate: ProjectsUpdate;
|
|
695
|
+
}
|
|
399
696
|
/**
|
|
400
697
|
* Request parameters for postSites operation in SitesApi.
|
|
401
698
|
* @export
|
|
@@ -409,6 +706,25 @@ export interface SitesApiPostSitesRequest {
|
|
|
409
706
|
*/
|
|
410
707
|
readonly projectsBuildSite: ProjectsBuildSite;
|
|
411
708
|
}
|
|
709
|
+
/**
|
|
710
|
+
* Request parameters for postSitesBySlugDeploy operation in SitesApi.
|
|
711
|
+
* @export
|
|
712
|
+
* @interface SitesApiPostSitesBySlugDeployRequest
|
|
713
|
+
*/
|
|
714
|
+
export interface SitesApiPostSitesBySlugDeployRequest {
|
|
715
|
+
/**
|
|
716
|
+
*
|
|
717
|
+
* @type {string}
|
|
718
|
+
* @memberof SitesApiPostSitesBySlugDeploy
|
|
719
|
+
*/
|
|
720
|
+
readonly slug: string;
|
|
721
|
+
/**
|
|
722
|
+
*
|
|
723
|
+
* @type {File}
|
|
724
|
+
* @memberof SitesApiPostSitesBySlugDeploy
|
|
725
|
+
*/
|
|
726
|
+
readonly body?: File;
|
|
727
|
+
}
|
|
412
728
|
/**
|
|
413
729
|
* Request parameters for postSitesBySlugDeployments operation in SitesApi.
|
|
414
730
|
* @export
|
|
@@ -453,6 +769,44 @@ export interface SitesApiPostSitesBySlugDeploymentsByIdCompleteRequest {
|
|
|
453
769
|
*/
|
|
454
770
|
readonly projectsComplete: ProjectsComplete;
|
|
455
771
|
}
|
|
772
|
+
/**
|
|
773
|
+
* Request parameters for postSitesBySlugDomains operation in SitesApi.
|
|
774
|
+
* @export
|
|
775
|
+
* @interface SitesApiPostSitesBySlugDomainsRequest
|
|
776
|
+
*/
|
|
777
|
+
export interface SitesApiPostSitesBySlugDomainsRequest {
|
|
778
|
+
/**
|
|
779
|
+
* Slug is the site the hosts attach to, from the path.
|
|
780
|
+
* @type {string}
|
|
781
|
+
* @memberof SitesApiPostSitesBySlugDomains
|
|
782
|
+
*/
|
|
783
|
+
readonly slug: string;
|
|
784
|
+
/**
|
|
785
|
+
*
|
|
786
|
+
* @type {ProjectsDomainsBind}
|
|
787
|
+
* @memberof SitesApiPostSitesBySlugDomains
|
|
788
|
+
*/
|
|
789
|
+
readonly projectsDomainsBind: ProjectsDomainsBind;
|
|
790
|
+
}
|
|
791
|
+
/**
|
|
792
|
+
* Request parameters for postSitesBySlugDomainsByHostVerify operation in SitesApi.
|
|
793
|
+
* @export
|
|
794
|
+
* @interface SitesApiPostSitesBySlugDomainsByHostVerifyRequest
|
|
795
|
+
*/
|
|
796
|
+
export interface SitesApiPostSitesBySlugDomainsByHostVerifyRequest {
|
|
797
|
+
/**
|
|
798
|
+
* Slug is the project the host is attached to, from the path.
|
|
799
|
+
* @type {string}
|
|
800
|
+
* @memberof SitesApiPostSitesBySlugDomainsByHostVerify
|
|
801
|
+
*/
|
|
802
|
+
readonly slug: string;
|
|
803
|
+
/**
|
|
804
|
+
* Host is the custom hostname, from the path. It is cleaned to its canonical form (lowercased, trailing dot dropped) before anything is looked up.
|
|
805
|
+
* @type {string}
|
|
806
|
+
* @memberof SitesApiPostSitesBySlugDomainsByHostVerify
|
|
807
|
+
*/
|
|
808
|
+
readonly host: string;
|
|
809
|
+
}
|
|
456
810
|
/**
|
|
457
811
|
* Request parameters for postSitesBySlugPublish operation in SitesApi.
|
|
458
812
|
* @export
|
|
@@ -472,6 +826,19 @@ export interface SitesApiPostSitesBySlugPublishRequest {
|
|
|
472
826
|
*/
|
|
473
827
|
readonly projectsPublish: ProjectsPublish;
|
|
474
828
|
}
|
|
829
|
+
/**
|
|
830
|
+
* Request parameters for postSitesBySlugPurge operation in SitesApi.
|
|
831
|
+
* @export
|
|
832
|
+
* @interface SitesApiPostSitesBySlugPurgeRequest
|
|
833
|
+
*/
|
|
834
|
+
export interface SitesApiPostSitesBySlugPurgeRequest {
|
|
835
|
+
/**
|
|
836
|
+
* Slug is the project to act on, from the path. It is unique within the caller\'s org and nowhere else, so another tenant\'s slug is a 404.
|
|
837
|
+
* @type {string}
|
|
838
|
+
* @memberof SitesApiPostSitesBySlugPurge
|
|
839
|
+
*/
|
|
840
|
+
readonly slug: string;
|
|
841
|
+
}
|
|
475
842
|
/**
|
|
476
843
|
* Request parameters for postSitesBySlugReleases operation in SitesApi.
|
|
477
844
|
* @export
|
|
@@ -523,6 +890,19 @@ export interface SitesApiPostSitesDeployRequest {
|
|
|
523
890
|
*/
|
|
524
891
|
readonly projectsDeploySite: ProjectsDeploySite;
|
|
525
892
|
}
|
|
893
|
+
/**
|
|
894
|
+
* Request parameters for postSitesFork operation in SitesApi.
|
|
895
|
+
* @export
|
|
896
|
+
* @interface SitesApiPostSitesForkRequest
|
|
897
|
+
*/
|
|
898
|
+
export interface SitesApiPostSitesForkRequest {
|
|
899
|
+
/**
|
|
900
|
+
*
|
|
901
|
+
* @type {ProjectsFork}
|
|
902
|
+
* @memberof SitesApiPostSitesFork
|
|
903
|
+
*/
|
|
904
|
+
readonly projectsFork: ProjectsFork;
|
|
905
|
+
}
|
|
526
906
|
/**
|
|
527
907
|
* SitesApi - object-oriented interface
|
|
528
908
|
* @export
|
|
@@ -530,6 +910,24 @@ export interface SitesApiPostSitesDeployRequest {
|
|
|
530
910
|
* @extends {BaseAPI}
|
|
531
911
|
*/
|
|
532
912
|
export declare class SitesApi extends BaseAPI {
|
|
913
|
+
/**
|
|
914
|
+
* Deletes a project and takes its site off the internet. The metadata delete is authoritative and everything after it is best-effort, in this order: the public `<slug>` subdomain binding is released so the slug is free to reclaim, the release rows are dropped so a reclaimed slug never inherits the previous owner\'s rollback menu, the git source is retired on every copy it has so a reclaimed slug never adopts a repository left behind (visibility.go), the S3 origin is purged under BOTH `<org>/<slug>/` and the site\'s sibling release space, and the edge cache-tag is flushed. A failure in any of those is logged and the delete still answers 204 — resurrecting a project because a purge missed would be worse than a leaked prefix. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404 and nothing of theirs is touched.
|
|
915
|
+
* @summary Deletes a project and takes its site off the internet.
|
|
916
|
+
* @param {SitesApiDeleteSitesBySlugRequest} requestParameters Request parameters.
|
|
917
|
+
* @param {*} [options] Override http request option.
|
|
918
|
+
* @throws {RequiredError}
|
|
919
|
+
* @memberof SitesApi
|
|
920
|
+
*/
|
|
921
|
+
deleteSitesBySlug(requestParameters: SitesApiDeleteSitesBySlugRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
922
|
+
/**
|
|
923
|
+
* Gives a custom hostname back, so the name is free to reuse. A claim is FIRST-COME and global, so an add-only surface was not ownership but a leak: a customer who mistyped a domain, or claimed one they later moved elsewhere, could neither reuse it nor let anyone else. This is the third writer that closes it. The release is scoped to (host, org, slug), so it can only ever drop THIS tenant\'s own claim, and it is IDEMPOTENT: releasing a host we do not hold is a clean 204, never a 404 that would let a caller probe which hosts other tenants hold. The edge cache-tag is flushed, since the host stops routing here. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
924
|
+
* @summary Gives a custom hostname back, so the name is free to reuse.
|
|
925
|
+
* @param {SitesApiDeleteSitesBySlugDomainsByHostRequest} requestParameters Request parameters.
|
|
926
|
+
* @param {*} [options] Override http request option.
|
|
927
|
+
* @throws {RequiredError}
|
|
928
|
+
* @memberof SitesApi
|
|
929
|
+
*/
|
|
930
|
+
deleteSitesBySlugDomainsByHost(requestParameters: SitesApiDeleteSitesBySlugDomainsByHostRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
|
|
533
931
|
/**
|
|
534
932
|
* Returns the org\'s deployed sites at the pretty URLs they serve at. It reads the SAME org-scoped store as /v1/projects and keeps only the projects that are actually `live`, so a draft or a failed build is not advertised as a site. Scope: a validated principal is required (403 without one) and the list is keyed by that principal\'s org.
|
|
535
933
|
* @summary Returns the org\'s deployed sites at the pretty URLs they serve at.
|
|
@@ -565,6 +963,15 @@ export declare class SitesApi extends BaseAPI {
|
|
|
565
963
|
* @memberof SitesApi
|
|
566
964
|
*/
|
|
567
965
|
getSitesBySlugDeploymentsById(requestParameters: SitesApiGetSitesBySlugDeploymentsByIdRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsDeployment, any, {}>>;
|
|
966
|
+
/**
|
|
967
|
+
* Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes. `domains` is the routing answer — the hosts that are verified right now — while `claims` is the full panel, one row per host, each saying whether it is live or pending and, if pending, exactly what to publish. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
968
|
+
* @summary Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes.
|
|
969
|
+
* @param {SitesApiGetSitesBySlugDomainsRequest} requestParameters Request parameters.
|
|
970
|
+
* @param {*} [options] Override http request option.
|
|
971
|
+
* @throws {RequiredError}
|
|
972
|
+
* @memberof SitesApi
|
|
973
|
+
*/
|
|
974
|
+
getSitesBySlugDomains(requestParameters: SitesApiGetSitesBySlugDomainsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsDomains, any, {}>>;
|
|
568
975
|
/**
|
|
569
976
|
* Returns a site\'s releases newest-first, marking the active one — the rollback menu. Each row carries the release id to activate, the source it was promoted from, its object and byte counts, and the URL if it is the one serving. Retention bounds the list, so it is the set that can actually still be rolled back to, not a full history. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
570
977
|
* @summary Returns a site\'s releases newest-first, marking the active one — the rollback menu.
|
|
@@ -574,6 +981,15 @@ export declare class SitesApi extends BaseAPI {
|
|
|
574
981
|
* @memberof SitesApi
|
|
575
982
|
*/
|
|
576
983
|
getSitesBySlugReleases(requestParameters: SitesApiGetSitesBySlugReleasesRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsRelease[], any, {}>>;
|
|
984
|
+
/**
|
|
985
|
+
* Changes a project\'s settings, and only the settings you send. Every field is optional and absent means \"leave it\": `name` may not be blanked, `framework` must stay a known build hint, and `cacheControl` is capped at 256 characters with no newlines (it becomes a response header). `visibility` flips public/private under the same rule as create — public is free, private needs a funded org. `upstream` and `license` are free-text credit for third-party work, and sending \"\" clears one. Changing anything reconciles the project\'s canonical git repo, so a visibility change reaches the source and not just the listing. `hidden`/`hiddenReason` are platform MODERATION and are ignored unless the caller is a platform admin; they remove a project from the public catalogue without touching the publisher\'s own visibility choice, so un-hiding restores exactly what they asked for. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
986
|
+
* @summary Changes a project\'s settings, and only the settings you send.
|
|
987
|
+
* @param {SitesApiPatchSitesBySlugRequest} requestParameters Request parameters.
|
|
988
|
+
* @param {*} [options] Override http request option.
|
|
989
|
+
* @throws {RequiredError}
|
|
990
|
+
* @memberof SitesApi
|
|
991
|
+
*/
|
|
992
|
+
patchSitesBySlug(requestParameters: SitesApiPatchSitesBySlugRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsProject, any, {}>>;
|
|
577
993
|
/**
|
|
578
994
|
* Generates a self-contained, mobile-responsive static site from a natural-language brief and deploys it live in one call. One inference call turns `brief` (capped at 8 KiB) into a file manifest, which then runs through the SAME validation, guards and viewport guarantee as a hand-supplied manifest: index.html required at the root, absolute and traversal paths rejected, per-file and total size capped, and a mobile viewport meta tag injected into every HTML document that lacks one. The generated site is fully inline — no CDNs, no remote fonts or images — so it is CSP-safe. `slug` and `name` are optional: the model\'s own title is preferred, and a slug is derived or minted when none is given. It writes into the SAME org-scoped store as /v1/projects — it ensures a project (framework `static`) for the resolved slug and records a deployment — so this is a second door onto one publish pipeline, not a second copy of project state. Ordering is the billing contract: the hosting gate runs BEFORE any inference or upload, so a denied gate generates and uploads NOTHING, and the debit lands once, only after the site is actually live. The tokens are billed to the same ledger the hosting fee was reserved against. Answers 503 when object storage or inference is unconfigured, and 400 when the model\'s manifest cannot be parsed or fails the guards. Scope: a validated principal is required (403 without one) and the site is published into THAT principal\'s org.
|
|
579
995
|
* @summary Generates a self-contained, mobile-responsive static site from a natural-language brief and deploys it live in one call.
|
|
@@ -583,6 +999,15 @@ export declare class SitesApi extends BaseAPI {
|
|
|
583
999
|
* @memberof SitesApi
|
|
584
1000
|
*/
|
|
585
1001
|
postSites(requestParameters: SitesApiPostSitesRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsSiteDeploy, any, {}>>;
|
|
1002
|
+
/**
|
|
1003
|
+
* Takes a built site live at `https://<slug>.hanzo.app` in one call. The body is the site itself — a `zip` or `tar.gz` holding `index.html` at its root (or a single wrapper directory that does), sent raw or as a multipart file part. It is unpacked to the site\'s own storage prefix and served immediately, answering the finished deployment. It is bounded by the edge body limit (16 MiB by default), and that bound is the whole reason the other path exists: an oversized POST is refused by the server BEFORE any handler runs and surfaces as an opaque `400 Error when parsing request` that reads like a malformed payload rather than a size cap. A site too large for one archive opens a deployment with `POST /v1/sites/{slug}/deployments` instead and writes its files straight to storage against the scoped grant that answers with — no body limit, and no bytes through this API at all. Billing is fail-closed and fails FIRST: the hosting gate runs before anything is parsed or uploaded, so an unfunded org is 402 and an unreachable commerce is 503 with nothing written. The debit lands only on success — a failed upload is never billed and never flips the live site — and a redeploy answers the SAME URL, because slug and apex are stable. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404. Object storage must be configured (503); an archive that does not walk is a 400 and one over the size cap is a 413.
|
|
1004
|
+
* @summary Upload a built site as one archive and serve it
|
|
1005
|
+
* @param {SitesApiPostSitesBySlugDeployRequest} requestParameters Request parameters.
|
|
1006
|
+
* @param {*} [options] Override http request option.
|
|
1007
|
+
* @throws {RequiredError}
|
|
1008
|
+
* @memberof SitesApi
|
|
1009
|
+
*/
|
|
1010
|
+
postSitesBySlugDeploy(requestParameters: SitesApiPostSitesBySlugDeployRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsDeployment, any, {}>>;
|
|
586
1011
|
/**
|
|
587
1012
|
* Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage. Answers 202. This is the path for a site too large to send as one archive: a real export is hundreds of megabytes against a 16 MiB body limit, so the bytes deliberately do NOT pass through the API. The answer carries `bucket`, `prefix` and `upload` — a presigned POST policy that S3 itself confines to this site\'s prefix (starts-with `<org>/<slug>/`), expires in 30 minutes and bounds each object. So a build writes its own files and holds no standing bucket credential; there is nothing to rotate and nothing that leaks between tenants. Never guess the prefix — it is server-derived, and a guessed one lands where nothing is served. The deployment is `queued` until POST .../deployments/{id}/complete flips it live (or error). That completion is also where DELETION happens: the grant authorizes writes only, so a build cannot remove a file, and cloud reconciles the prefix against the `keys` manifest the completion carries. A build that dies before completing leaves the deployment queued rather than a half-live site. The grant is on the 202 and NOWHERE else — it is never stored and never replayed on a later read, so it cannot outlive the build it was minted for. A deployment whose grant could not be minted is still created and still completable; it simply carries no `upload`, and a caller with no other way to write should treat that as the failure it is. Billing: the hosting gate runs BEFORE anything is created (402 unfunded, 503 commerce unreachable), and the debit lands on the completion that goes live — never on a queued or failed build. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
588
1013
|
* @summary Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage.
|
|
@@ -601,6 +1026,24 @@ export declare class SitesApi extends BaseAPI {
|
|
|
601
1026
|
* @memberof SitesApi
|
|
602
1027
|
*/
|
|
603
1028
|
postSitesBySlugDeploymentsByIdComplete(requestParameters: SitesApiPostSitesBySlugDeploymentsByIdCompleteRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsDeployment, any, {}>>;
|
|
1029
|
+
/**
|
|
1030
|
+
* Attaches one or more CUSTOM public hostnames to this org\'s site. Binding a host you do not own would let you shadow it at the edge, so which outcome you get depends on whether ownership is already established: a SuperAdmin vouches (the operator manages the customer\'s DNS, so its bind IS the proof) and binds VERIFIED immediately; every other caller, INCLUDING an admin of the deployment\'s own brand org, has the host CLAIMED as pending and gets the DNS challenge back in `bound[].records`. A pending claim HOLDS the name so nobody else can take it, but it does not route until POST .../domains/{host}/verify proves control. A hostname we operate is refused to a non-vouched caller (those are assigned by the platform, never claimed), a host another site already holds is a 409, and a name the platform holds is a 400 for EVERY caller — a vouch skips the ownership proof, never the host table\'s own invariant. Claims and binds are idempotent for the same (org, slug), and re-claiming returns the SAME token rather than invalidating a record the customer has already published. The edge cache-tag is flushed afterwards so a newly-verified host serves the current build immediately. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
1031
|
+
* @summary Attaches one or more CUSTOM public hostnames to this org\'s site.
|
|
1032
|
+
* @param {SitesApiPostSitesBySlugDomainsRequest} requestParameters Request parameters.
|
|
1033
|
+
* @param {*} [options] Override http request option.
|
|
1034
|
+
* @throws {RequiredError}
|
|
1035
|
+
* @memberof SitesApi
|
|
1036
|
+
*/
|
|
1037
|
+
postSitesBySlugDomains(requestParameters: SitesApiPostSitesBySlugDomainsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsBoundDomains, any, {}>>;
|
|
1038
|
+
/**
|
|
1039
|
+
* Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at the edge. It answers 200 either way, with the host\'s honest current state: verified once the TXT record is found, still pending — with the records to publish and the resolver\'s own explanation in `detail` — when it is not. A not-yet is not an error: the check ran, DNS simply has not propagated, and the customer retries. An already-verified host is returned unchanged without re-resolving. On a successful promotion the edge cache-tag is flushed, since the host routes as of that moment. Scope: a validated principal is required (403 without one). Both the site and the claim are resolved within that principal\'s org, so a host claimed by another tenant is \"not claimed by this site\".
|
|
1040
|
+
* @summary Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at the edge.
|
|
1041
|
+
* @param {SitesApiPostSitesBySlugDomainsByHostVerifyRequest} requestParameters Request parameters.
|
|
1042
|
+
* @param {*} [options] Override http request option.
|
|
1043
|
+
* @throws {RequiredError}
|
|
1044
|
+
* @memberof SitesApi
|
|
1045
|
+
*/
|
|
1046
|
+
postSitesBySlugDomainsByHostVerify(requestParameters: SitesApiPostSitesBySlugDomainsByHostVerifyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsDomain, any, {}>>;
|
|
604
1047
|
/**
|
|
605
1048
|
* Promotes a build output into a new release AND goes live with it — create+activate in one call, which is the 99% path. It is exactly the two halves in sequence with no extra semantics, so the staged flow and the one-shot flow can never drift apart: `source` is promoted under the same org-relative rule and the same guards CreateRelease applies, then the site\'s pointer is flipped to it, the public host is claimed and the edge is purged. Idempotent on unchanged bytes — same manifest, same release id, no copy — and billed once, after the release exists. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
606
1049
|
* @summary Promotes a build output into a new release AND goes live with it — create+activate in one call, which is the 99% path.
|
|
@@ -610,6 +1053,15 @@ export declare class SitesApi extends BaseAPI {
|
|
|
610
1053
|
* @memberof SitesApi
|
|
611
1054
|
*/
|
|
612
1055
|
postSitesBySlugPublish(requestParameters: SitesApiPostSitesBySlugPublishRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsRelease, any, {}>>;
|
|
1056
|
+
/**
|
|
1057
|
+
* Flushes the site\'s edge cache without redeploying anything. It invalidates the edge cache-tag `site-<org>-<slug>` and stamps `lastPurgeAt` (unix seconds), and it NEVER writes or deletes the S3 origin — the live build keeps serving; only stale copies held at the edge drop, so the next request re-fetches the current artifact from origin. Idempotent, and an edge that is unconfigured or failing is not fatal: `lastPurgeAt` is still stamped and the answer is still the updated project. Scope: a validated principal is required (403 without one) and the project is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
1058
|
+
* @summary Flushes the site\'s edge cache without redeploying anything.
|
|
1059
|
+
* @param {SitesApiPostSitesBySlugPurgeRequest} requestParameters Request parameters.
|
|
1060
|
+
* @param {*} [options] Override http request option.
|
|
1061
|
+
* @throws {RequiredError}
|
|
1062
|
+
* @memberof SitesApi
|
|
1063
|
+
*/
|
|
1064
|
+
postSitesBySlugPurge(requestParameters: SitesApiPostSitesBySlugPurgeRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsProject, any, {}>>;
|
|
613
1065
|
/**
|
|
614
1066
|
* Promotes a build output into a new immutable release WITHOUT serving it — the staged half of publishing, for when you want to check a release before it goes live. Answers 201. `source` is a path RELATIVE to your org\'s own storage space: the org segment is prepended server-side from the validated principal and the bucket is never in the request at all, so a server-side copy can only ever reach bytes your org already owns. The prefix is listed, content-addressed (SHA-256 over the sorted manifest of key/size/etag), and copied into an immutable `<org>/.releases/<slug>/<id>/` prefix; the row is written LAST, so a partial copy is unreachable rather than merely unlikely. Re-publishing an unchanged source is idempotent BY CONSTRUCTION — same bytes, same id, no copy at all. The source must contain index.html at its root and stay under the same file and byte caps an artifact deploy does (413 past them); a source that changes mid-copy is a 409 and the release is abandoned. Each publish also reclaims releases past the retention depth, so a site\'s release space stays bounded. This is the billable half — the hosting gate runs before any copy, and the debit lands once the release exists. Scope: a validated principal is required (403 without one) and the site is resolved within that principal\'s org, so another tenant\'s slug is a 404.
|
|
615
1067
|
* @summary Promotes a build output into a new immutable release WITHOUT serving it — the staged half of publishing, for when you want to check a release before it goes live.
|
|
@@ -637,4 +1089,13 @@ export declare class SitesApi extends BaseAPI {
|
|
|
637
1089
|
* @memberof SitesApi
|
|
638
1090
|
*/
|
|
639
1091
|
postSitesDeploy(requestParameters: SitesApiPostSitesDeployRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsSiteDeploy, any, {}>>;
|
|
1092
|
+
/**
|
|
1093
|
+
* Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery catalog, or any live project on the platform (an example a seeded creator published, or another org\'s app serving at <slug>.hanzo.app). Answers 201 with the new project. `slug` names the PARENT to fork and is required. Templates resolve first, and the caller org\'s own private templates ahead of the public gallery, so a curated template slug keeps meaning the same thing even if someone later publishes a live project under it; `variant` picks that template\'s format/page/theme. If no template matches, the slug resolves to the UNIQUE live project that owns it across all orgs — the same resolution the site edge uses to serve <slug>.hanzo.app, so what you can browse is what you can fork. `name` and `target` override the derived project name and slug; everything else is inherited from the parent. A live parent contributes its REPO, so the child builds from the same source — the parent\'s deployed bytes are never copied, because releases are per-tenant by design and the fork publishes its own. The parent it actually resolved is stamped on the child as `forkedFrom`, so attribution is a fact recorded at fork time rather than a claim reconstructed later. It funnels through the SAME create path POST /v1/projects uses, so slug validation, org scoping, ID minting and the 409 on a slug the caller\'s own org already uses are identical. Scope: a validated principal is required (403 without one) and the child is created in THAT principal\'s org.
|
|
1094
|
+
* @summary Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery catalog, or any live project on the platform (an example a seeded creator published, or another org\'s app serving at <slug>.hanzo.app).
|
|
1095
|
+
* @param {SitesApiPostSitesForkRequest} requestParameters Request parameters.
|
|
1096
|
+
* @param {*} [options] Override http request option.
|
|
1097
|
+
* @throws {RequiredError}
|
|
1098
|
+
* @memberof SitesApi
|
|
1099
|
+
*/
|
|
1100
|
+
postSitesFork(requestParameters: SitesApiPostSitesForkRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectsProject, any, {}>>;
|
|
640
1101
|
}
|