Files
open-design/shells/terminal/runtime/fixture-shell-updater.d.mts
8ab7c3d5f1 feat(standalone): establish the exact lifecycle and Terminal carrier (#7716)
* feat(standalone): add shell-neutral exact lifecycle

* feat(terminal): add native exact cold-start carrier

* test(terminal): exercise mutable exact channel heads

* feat(standalone): model synced blobs and Shell updates

* feat(terminal): exercise the complete Shell lifecycle

* feat(release): add the independent exact Terminal line

* test(exact): run the full local Terminal release line

* feat(terminal): harden exact Sidecar lifecycle

* feat(standalone): prove exact update transactions

* refactor(standalone): separate shell lifecycle dimensions

* refactor(e2e): decouple terminal exact drivers

* refactor(terminal): isolate exact sidecar fixture host

* feat(terminal): gate handoff on physical retirement

* refactor(release): gate exact activation on public acceptance

* test(terminal): formalize guarded lifecycle algebra

* fix(terminal): guard shell installer handoff

* feat(terminal): add exact bootloader handoff

* feat(terminal): integrate exact sidecar lifecycle

* refactor(exact): rename validation channels

* test(terminal): harden exact release acceptance

* fix(postinstall): build standalone dependencies first

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* fix(ci): build the native Terminal scene

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* test(ci): cover exact convergence handoff routing

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* fix(exact): isolate terminal validation from main CI

* fix(terminal): complete shell update confirmation

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* fix(exact): bind acceptance to installed manifest

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

* fix(standalone): block occupied shell installs

Generated-By: looper 0.11.2 (runner=fixer, agent=codex)

---------

Co-authored-by: Looper <looper@noreply.github.com>
2026-09-03 03:50:34 +00:00

37 lines
1.6 KiB
TypeScript

import type {
LifecyclePort,
LifecycleScope,
StandaloneLifecycleTransitionPort,
StandaloneShellUpdaterPort,
} from "@open-design/standalone";
export function requireCompleteStandaloneRetirement(
result: Readonly<{ remainingPids: readonly number[] }> | null,
): void;
export class FixtureShellUpdaterPort implements StandaloneShellUpdaterPort {
readonly shellType: string;
constructor(root: string, scope: LifecycleScope, lifecycle: LifecyclePort & StandaloneLifecycleTransitionPort, options?: {
algebra: typeof import("@open-design/standalone").SHELL_UPDATE_ALGEBRA;
attachmentId?: string;
channelHeadUrl?: string;
faultAt?: "after-transition" | "before-handoff-persist";
installDelayMs?: number;
withRetiredStandalone?: <T>(input: Readonly<{
scope: LifecycleScope;
kind: "shell-install";
attemptId: string;
fence: number;
occupants: readonly import("@open-design/standalone").StandaloneLifecycleOccupant[];
}>, commit: () => Promise<T>) => Promise<T>;
shellType?: string;
standalone?: typeof import("@open-design/standalone");
target?: string;
trustedKeys?: import("@open-design/standalone").StandaloneTrustedKeyRing;
});
readSnapshot(): ReturnType<StandaloneShellUpdaterPort["readSnapshot"]>;
waitForChange(afterRevision: number, timeoutMs: number): ReturnType<StandaloneShellUpdaterPort["waitForChange"]>;
invoke(action: Parameters<StandaloneShellUpdaterPort["invoke"]>[0]): ReturnType<StandaloneShellUpdaterPort["invoke"]>;
confirmInstalled(...input: Parameters<StandaloneShellUpdaterPort["confirmInstalled"]>): ReturnType<StandaloneShellUpdaterPort["confirmInstalled"]>;
}