From 5f779c2af7f795128dd4d819f61f1d194953908f Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Thu, 6 Nov 2025 16:08:46 +0000
Subject: [PATCH 1/5] Update docs/template/build.mdx
---
docs/template/build.mdx | 117 ++++++++++++++++++++++++++++++++++++++--
1 file changed, 114 insertions(+), 3 deletions(-)
diff --git a/docs/template/build.mdx b/docs/template/build.mdx
index 8119f0b..805bbd4 100644
--- a/docs/template/build.mdx
+++ b/docs/template/build.mdx
@@ -3,12 +3,14 @@ title: "Build"
description: "How to build the template"
---
-Configure the build process:
+## Build and wait for completion
+
+The `build` method builds the template and waits for the build to complete. It returns build information including the template ID and build ID.
```typescript JavaScript & TypeScript wrap
-Template.build(template, {
+const buildInfo = await Template.build(template, {
alias: 'my-template', // Template alias (required)
cpuCount: 2, // CPU cores
memoryMB: 2048, // Memory in MB
@@ -17,10 +19,12 @@ Template.build(template, {
apiKey: 'your-api-key', // Override API key
domain: 'your-domain', // Override domain
})
+
+// buildInfo contains: { alias, templateId, buildId }
```
```python Python wrap
-Template.build(
+build_info = Template.build(
template,
alias="my-template", # Template alias (required)
cpu_count=2, # CPU cores
@@ -30,6 +34,113 @@ Template.build(
api_key="your-api-key", # Override API key
domain="your-domain", # Override domain
)
+
+# build_info contains: BuildInfo(alias, template_id, build_id)
+```
+
+
+
+## Build in background
+
+The `buildInBackground` method starts the build process and returns immediately without waiting for completion. This is useful when you want to trigger a build and check its status later.
+
+
+
+```typescript JavaScript & TypeScript wrap
+const buildInfo = await Template.buildInBackground(template, {
+ alias: 'my-template',
+ cpuCount: 2,
+ memoryMB: 2048,
+})
+
+// Returns immediately with: { alias, templateId, buildId }
+```
+
+```python Python wrap
+build_info = Template.build_in_background(
+ template,
+ alias="my-template",
+ cpu_count=2,
+ memory_mb=2048,
+)
+
+# Returns immediately with: BuildInfo(alias, template_id, build_id)
+```
+
+
+
+## Check build status
+
+Use `getBuildStatus` to check the status of a build started with `buildInBackground`.
+
+
+
+```typescript JavaScript & TypeScript wrap
+const status = await Template.getBuildStatus(buildInfo, {
+ logsOffset: 0, // Optional: offset for fetching logs
+})
+
+// status contains: { status: 'building' | 'ready' | 'error', logs: [...] }
+```
+
+```python Python wrap
+status = Template.get_build_status(
+ build_info,
+ logs_offset=0, # Optional: offset for fetching logs
+)
+
+# status contains build status and logs
+```
+
+
+
+## Example: Background build with status polling
+
+
+
+```typescript JavaScript & TypeScript wrap
+// Start build in background
+const buildInfo = await Template.buildInBackground(template, {
+ alias: 'my-template',
+ cpuCount: 2,
+ memoryMB: 2048,
+})
+
+// Poll for build status
+let status = await Template.getBuildStatus(buildInfo)
+while (status.status === 'building') {
+ await new Promise(resolve => setTimeout(resolve, 2000))
+ status = await Template.getBuildStatus(buildInfo)
+}
+
+if (status.status === 'ready') {
+ console.log('Build completed successfully')
+} else {
+ console.error('Build failed')
+}
+```
+
+```python Python wrap
+# Start build in background
+build_info = Template.build_in_background(
+ template,
+ alias="my-template",
+ cpu_count=2,
+ memory_mb=2048,
+)
+
+# Poll for build status
+import time
+
+status = Template.get_build_status(build_info)
+while status.status.value == "building":
+ time.sleep(2)
+ status = Template.get_build_status(build_info)
+
+if status.status.value == "ready":
+ print("Build completed successfully")
+else:
+ print("Build failed")
```
From 3383e1b76635181c77711a5cfbc653ed955041b8 Mon Sep 17 00:00:00 2001
From: Jakub Dobry
Date: Fri, 7 Nov 2025 10:00:50 +0100
Subject: [PATCH 2/5] add logs handling to the example
---
docs/template/build.mdx | 38 +++++++++++++++++++++++++++++++-------
1 file changed, 31 insertions(+), 7 deletions(-)
diff --git a/docs/template/build.mdx b/docs/template/build.mdx
index 805bbd4..5787916 100644
--- a/docs/template/build.mdx
+++ b/docs/template/build.mdx
@@ -80,7 +80,7 @@ const status = await Template.getBuildStatus(buildInfo, {
logsOffset: 0, // Optional: offset for fetching logs
})
-// status contains: { status: 'building' | 'ready' | 'error', logs: [...] }
+// status contains: { status: 'building' | 'ready' | 'error', logEntries: [...] }
```
```python Python wrap
@@ -107,10 +107,22 @@ const buildInfo = await Template.buildInBackground(template, {
})
// Poll for build status
-let status = await Template.getBuildStatus(buildInfo)
-while (status.status === 'building') {
+let logsOffset = 0
+let status = 'building'
+
+while (status === 'building') {
+ const buildStatus = await getBuildStatus(buildInfo, {
+ logsOffset,
+ })
+
+ logsOffset += buildStatus.logEntries.length
+
+ buildStatus.logEntries.forEach(
+ (logEntry) => console.log(logEntry.toString())
+ )
+
+ // Wait for a short period before checking the status again
await new Promise(resolve => setTimeout(resolve, 2000))
- status = await Template.getBuildStatus(buildInfo)
}
if (status.status === 'ready') {
@@ -132,10 +144,22 @@ build_info = Template.build_in_background(
# Poll for build status
import time
-status = Template.get_build_status(build_info)
-while status.status.value == "building":
+logs_offset = 0
+status = "building"
+
+while status == "building":
+ build_status = Template.get_build_status(
+ build_info,
+ logs_offset=logs_offset,
+ )
+
+ logs_offset += len(build_status.log_entries)
+
+ for log_entry in build_status.log_entries:
+ print(log_entry)
+
+ # Wait for a short period before checking the status again
time.sleep(2)
- status = Template.get_build_status(build_info)
if status.status.value == "ready":
print("Build completed successfully")
From e57d791c91a8e83fad95293eb5253ffcf6271276 Mon Sep 17 00:00:00 2001
From: Jakub Dobry
Date: Fri, 7 Nov 2025 10:33:46 +0100
Subject: [PATCH 3/5] fix infinite loop
---
docs/template/build.mdx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/docs/template/build.mdx b/docs/template/build.mdx
index 5787916..f0b48d1 100644
--- a/docs/template/build.mdx
+++ b/docs/template/build.mdx
@@ -116,6 +116,7 @@ while (status === 'building') {
})
logsOffset += buildStatus.logEntries.length
+ status = buildStatus.status
buildStatus.logEntries.forEach(
(logEntry) => console.log(logEntry.toString())
@@ -154,6 +155,7 @@ while status == "building":
)
logs_offset += len(build_status.log_entries)
+ status = build_status.status
for log_entry in build_status.log_entries:
print(log_entry)
From dbdf929664af83290bc0c3b154417a000f327f13 Mon Sep 17 00:00:00 2001
From: Jakub Dobry
Date: Fri, 7 Nov 2025 10:38:26 +0100
Subject: [PATCH 4/5] fix comments
---
docs/template/build.mdx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/template/build.mdx b/docs/template/build.mdx
index f0b48d1..0d7cfae 100644
--- a/docs/template/build.mdx
+++ b/docs/template/build.mdx
@@ -126,7 +126,7 @@ while (status === 'building') {
await new Promise(resolve => setTimeout(resolve, 2000))
}
-if (status.status === 'ready') {
+if (status === 'ready') {
console.log('Build completed successfully')
} else {
console.error('Build failed')
@@ -155,7 +155,7 @@ while status == "building":
)
logs_offset += len(build_status.log_entries)
- status = build_status.status
+ status = build_status.status.value
for log_entry in build_status.log_entries:
print(log_entry)
@@ -163,7 +163,7 @@ while status == "building":
# Wait for a short period before checking the status again
time.sleep(2)
-if status.status.value == "ready":
+if status == "ready":
print("Build completed successfully")
else:
print("Build failed")
From 7908d51113134a476a31817c42cde17256108b6b Mon Sep 17 00:00:00 2001
From: Jakub Dobry
Date: Fri, 7 Nov 2025 10:39:39 +0100
Subject: [PATCH 5/5] fix function call
---
docs/template/build.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/template/build.mdx b/docs/template/build.mdx
index 0d7cfae..588f95a 100644
--- a/docs/template/build.mdx
+++ b/docs/template/build.mdx
@@ -111,7 +111,7 @@ let logsOffset = 0
let status = 'building'
while (status === 'building') {
- const buildStatus = await getBuildStatus(buildInfo, {
+ const buildStatus = await Template.getBuildStatus(buildInfo, {
logsOffset,
})