@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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runuai/host",
3
- "version": "0.9.83",
3
+ "version": "0.9.85",
4
4
  "description": "Uai host — runs ephemeral AI tasks in containers on a machine you control.",
5
5
  "license": "MIT",
6
6
  "author": "Uai Tech <team@runuai.com>",
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;