@nylorun/runtime 0.47.0-beta → 0.47.1-beta
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/CHANGELOG.md +6 -0
- package/dist/management-openapi.json +1 -1
- package/dist/openapi.json +1 -1
- package/dist/sandbox/pods/lifecycle.d.ts +2 -0
- package/dist/sandbox/pods/lifecycle.js +3 -1
- package/dist/tenant/agents.js +5 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.47.1-beta
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 3a8a080: Pods on Agent Substrate (preview): a crash that an idle suspend found now makes the Agent `failing`, and its `attention` names the crash (`compute crashed: Crashed: …`). Before, the crash appeared only in the Agent's events, and the Agent showed as sleeping. The entry stays until a turn starts the pod again, which reverts the sandbox to its last suspend.
|
|
8
|
+
|
|
3
9
|
## 0.47.0-beta
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/dist/openapi.json
CHANGED
|
@@ -62,6 +62,8 @@ export declare function repositoryOf(reference: string): string;
|
|
|
62
62
|
export declare function imageDigestOf(imageID: string | undefined, requested: string): string | undefined;
|
|
63
63
|
/** A setup failure's `reason` starts with this (`sandbox/setup.ts`); it is sticky. */
|
|
64
64
|
export declare const SETUP_FAILED = "setup:";
|
|
65
|
+
/** A crash's `reason` (see `crashReasonOf`) starts with this; it stays until a turn starts the pod. */
|
|
66
|
+
export declare const CRASHED = "Crashed: ";
|
|
65
67
|
/**
|
|
66
68
|
* A sandbox that crashed (Agent Substrate: its worker went away, or a wake failed) lost what its
|
|
67
69
|
* Agent wrote since its last suspend; the next start reverts it to that suspend. The reason
|
|
@@ -36,6 +36,8 @@ export function imageDigestOf(imageID, requested) {
|
|
|
36
36
|
}
|
|
37
37
|
/** A setup failure's `reason` starts with this (`sandbox/setup.ts`); it is sticky. */
|
|
38
38
|
export const SETUP_FAILED = "setup:";
|
|
39
|
+
/** A crash's `reason` (see `crashReasonOf`) starts with this; it stays until a turn starts the pod. */
|
|
40
|
+
export const CRASHED = "Crashed: ";
|
|
39
41
|
/**
|
|
40
42
|
* A sandbox that crashed (Agent Substrate: its worker went away, or a wake failed) lost what its
|
|
41
43
|
* Agent wrote since its last suspend; the next start reverts it to that suspend. The reason
|
|
@@ -45,7 +47,7 @@ export function crashReasonOf(status) {
|
|
|
45
47
|
if (status.reason !== "Crashed")
|
|
46
48
|
return undefined;
|
|
47
49
|
const what = status.message?.trim() || "the sandbox stopped";
|
|
48
|
-
return
|
|
50
|
+
return `${CRASHED}${what}. What the Agent wrote since its last suspend is lost; its next turn starts it from that suspend.`;
|
|
49
51
|
}
|
|
50
52
|
/** The service's operation id of the row's current spec. */
|
|
51
53
|
export function opIdOf(pod) {
|
package/dist/tenant/agents.js
CHANGED
|
@@ -55,7 +55,7 @@ import { sandboxWorkspaceKey } from "../sandbox/records.js";
|
|
|
55
55
|
import { effectiveSandboxConfig, readSandboxConfig } from "../sandbox/tenant-config.js";
|
|
56
56
|
import { podName } from "../sandbox/pods/name.js";
|
|
57
57
|
import { podLifecycleConfig } from "../sandbox/pods/spec.js";
|
|
58
|
-
import { SETUP_FAILED } from "../sandbox/pods/lifecycle.js";
|
|
58
|
+
import { CRASHED, SETUP_FAILED } from "../sandbox/pods/lifecycle.js";
|
|
59
59
|
import { requirePods } from "../sandbox/placement.js";
|
|
60
60
|
import { deleteDiskArtifact, forkSeedOf, runPendingSeed, snapshotEnvironment } from "../artifacts/disk.js";
|
|
61
61
|
import { manifestChanges, manifestRecipeRequest } from "./agent-manifests.js";
|
|
@@ -128,6 +128,10 @@ export function stateOf(agent, sessions, unsetSecrets = []) {
|
|
|
128
128
|
const pod = agent.pod;
|
|
129
129
|
if (pod && (pod.observed === "failed" || pod.observed === "lost") && pod.desired !== "deleted")
|
|
130
130
|
attention.push({ state: "failing", reason: `compute ${pod.observed}${pod.reason ? `: ${pod.reason}` : ""}` });
|
|
131
|
+
// A crash an idle suspend found leaves the pod suspended, not failed: what the Agent wrote since
|
|
132
|
+
// its last suspend is gone all the same, so it is named until a turn starts the pod again.
|
|
133
|
+
else if (pod && pod.reason?.startsWith(CRASHED) && pod.desired !== "deleted")
|
|
134
|
+
attention.push({ state: "failing", reason: `compute crashed: ${pod.reason}` });
|
|
131
135
|
// A start on a new version failed and went back (track T3): until a start on a new one succeeds.
|
|
132
136
|
if (agent.failedVersion !== undefined)
|
|
133
137
|
attention.push({ state: "failing", reason: `start_failed: version ${agent.failedVersion} did not start` });
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const RUNTIME_VERSION = "0.47.
|
|
1
|
+
export declare const RUNTIME_VERSION = "0.47.1-beta";
|
package/dist/version.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Kept in step with package.json by runtime/server/scripts/check-package.mjs, which runs in npm run check.
|
|
2
2
|
// release:prepare also rewrites this when it bumps @nylorun/runtime.
|
|
3
|
-
export const RUNTIME_VERSION = "0.47.
|
|
3
|
+
export const RUNTIME_VERSION = "0.47.1-beta";
|
package/package.json
CHANGED