@runuai/host 0.9.83 → 0.9.85
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/lib/task-environment/machine-task-up.ts +11 -0
- package/package.json +1 -1
- package/src/main.ts +12 -0
- package/src/protocol.ts +8 -0
|
@@ -201,6 +201,17 @@ async function cloneProject(
|
|
|
201
201
|
CLONE_TIMEOUT_MS,
|
|
202
202
|
);
|
|
203
203
|
if (clone.exitCode !== 0) {
|
|
204
|
+
// The commonest failure by far is an ANONYMOUS clone of a private GitHub
|
|
205
|
+
// repo because this host has no GitHub credential for the task owner —
|
|
206
|
+
// git's own message ("could not read Username … terminal prompts
|
|
207
|
+
// disabled") explains none of that. Say the actionable thing.
|
|
208
|
+
if (token === null && isGithubRepoUrl(project.repoUrl)) {
|
|
209
|
+
return (
|
|
210
|
+
`could not clone ${project.repoUrl} for ${project.slug}: GitHub is ` +
|
|
211
|
+
"not connected on this host. Connect GitHub on the host's page " +
|
|
212
|
+
"(Connections → GitHub), then Resume."
|
|
213
|
+
);
|
|
214
|
+
}
|
|
204
215
|
return `could not clone ${project.repoUrl} for ${project.slug}: ${clone.stderr || "clone failed"}`;
|
|
205
216
|
}
|
|
206
217
|
|
package/package.json
CHANGED
package/src/main.ts
CHANGED
|
@@ -598,6 +598,18 @@ function buildCapabilities(): HostCapabilities {
|
|
|
598
598
|
// advertise them as usable while the machine cannot run a container.
|
|
599
599
|
runtimes: runtime.status === "ready" ? standardRuntimes() : [],
|
|
600
600
|
containerRuntime: runtime,
|
|
601
|
+
// ADR-125: surface machine backing so the host page can say "AWS"
|
|
602
|
+
// instead of implying containers are the whole story.
|
|
603
|
+
...(process.env.UAI_MACHINE_TASKS === "1"
|
|
604
|
+
? {
|
|
605
|
+
machineTasks: {
|
|
606
|
+
provider: process.env.UAI_MACHINE_PROVIDER ?? "local",
|
|
607
|
+
...(process.env.UAI_AWS_REGION
|
|
608
|
+
? { region: process.env.UAI_AWS_REGION }
|
|
609
|
+
: {}),
|
|
610
|
+
},
|
|
611
|
+
}
|
|
612
|
+
: {}),
|
|
601
613
|
maintenanceReady: areAgentClisReady(),
|
|
602
614
|
mcpGateway: mcpGateway.state(),
|
|
603
615
|
engineLogins: engineLoginManager.capabilities(),
|
package/src/protocol.ts
CHANGED
|
@@ -943,6 +943,14 @@ export interface HostCapabilities {
|
|
|
943
943
|
/** ADR-101: the machine-level container backend. Optional for rolling
|
|
944
944
|
* compatibility with hosts predating runtime detection. */
|
|
945
945
|
containerRuntime?: ContainerRuntimeCapability;
|
|
946
|
+
/** ADR-125: machine-backed tasks (each task on its own ephemeral machine).
|
|
947
|
+
* Present when the host is configured for them; the cloud shows the
|
|
948
|
+
* provider/region on the host page and, eventually, per-task backing
|
|
949
|
+
* choice keys off it. */
|
|
950
|
+
machineTasks?: {
|
|
951
|
+
provider: string;
|
|
952
|
+
region?: string;
|
|
953
|
+
};
|
|
946
954
|
/** ADR-100: one-way boot latch. It becomes true after the initial shared
|
|
947
955
|
* image/CLI maintenance pass settles, including a best-effort failure. */
|
|
948
956
|
maintenanceReady?: boolean;
|