mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 05:10:42 +00:00
* tasks: register detached runtime plugins * tasks: harden detached runtime ownership * tasks: extract detached runtime contract types * changelog: note detached runtime contract * changelog: attribute detached runtime contract
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import type {
|
|
DetachedTaskLifecycleRuntime,
|
|
DetachedTaskLifecycleRuntimeRegistration,
|
|
} from "./detached-task-runtime-contract.js";
|
|
|
|
export type { DetachedTaskLifecycleRuntime, DetachedTaskLifecycleRuntimeRegistration };
|
|
|
|
let detachedTaskLifecycleRuntimeRegistration: DetachedTaskLifecycleRuntimeRegistration | undefined;
|
|
|
|
export function registerDetachedTaskLifecycleRuntime(
|
|
pluginId: string,
|
|
runtime: DetachedTaskLifecycleRuntime,
|
|
): void {
|
|
detachedTaskLifecycleRuntimeRegistration = {
|
|
pluginId,
|
|
runtime,
|
|
};
|
|
}
|
|
|
|
export function getDetachedTaskLifecycleRuntimeRegistration():
|
|
| DetachedTaskLifecycleRuntimeRegistration
|
|
| undefined {
|
|
if (!detachedTaskLifecycleRuntimeRegistration) {
|
|
return undefined;
|
|
}
|
|
return {
|
|
pluginId: detachedTaskLifecycleRuntimeRegistration.pluginId,
|
|
runtime: detachedTaskLifecycleRuntimeRegistration.runtime,
|
|
};
|
|
}
|
|
|
|
export function getRegisteredDetachedTaskLifecycleRuntime():
|
|
| DetachedTaskLifecycleRuntime
|
|
| undefined {
|
|
return detachedTaskLifecycleRuntimeRegistration?.runtime;
|
|
}
|
|
|
|
export function restoreDetachedTaskLifecycleRuntimeRegistration(
|
|
registration: DetachedTaskLifecycleRuntimeRegistration | undefined,
|
|
): void {
|
|
detachedTaskLifecycleRuntimeRegistration = registration
|
|
? {
|
|
pluginId: registration.pluginId,
|
|
runtime: registration.runtime,
|
|
}
|
|
: undefined;
|
|
}
|
|
|
|
export function clearDetachedTaskLifecycleRuntimeRegistration(): void {
|
|
detachedTaskLifecycleRuntimeRegistration = undefined;
|
|
}
|
|
|
|
export const _resetDetachedTaskLifecycleRuntimeRegistration =
|
|
clearDetachedTaskLifecycleRuntimeRegistration;
|