import { createAtomCommandScheduler, createRuntimeCommand,} from "@t3tools/client-runtime/state/runtime"; import { connectionAtomRuntime } from "../connection/runtime";import { linkPrimaryEnvironmentToCloud, type CloudLinkMode, type CloudLinkTarget, unlinkPrimaryEnvironmentFromCloud, updatePrimaryCloudPreferences,} from "./linkEnvironment"; const cloudLinkScheduler = createAtomCommandScheduler();const cloudLinkConcurrency = { mode: "serial" as const, key: (input: { readonly target: CloudLinkTarget }) => input.target.environmentId,}; export const linkPrimaryEnvironment = createRuntimeCommand(connectionAtomRuntime, { label: "web:cloud:link-primary-environment", scheduler: cloudLinkScheduler, concurrency: cloudLinkConcurrency, execute: (input: { readonly target: CloudLinkTarget; readonly clerkToken: string; readonly mode?: CloudLinkMode; }) => linkPrimaryEnvironmentToCloud(input),}); export const unlinkPrimaryEnvironment = createRuntimeCommand(connectionAtomRuntime, { label: "web:cloud:unlink-primary-environment", scheduler: cloudLinkScheduler, concurrency: cloudLinkConcurrency, execute: (input: { readonly target: CloudLinkTarget; readonly clerkToken: string | null }) => unlinkPrimaryEnvironmentFromCloud(input),}); export const updatePrimaryEnvironmentPreferences = createRuntimeCommand(connectionAtomRuntime, { label: "web:cloud:update-primary-environment-preferences", scheduler: cloudLinkScheduler, concurrency: cloudLinkConcurrency, execute: (input: { readonly target: CloudLinkTarget; readonly publishAgentActivity: boolean }) => updatePrimaryCloudPreferences(input),});
import {
createAtomCommandScheduler,
createRuntimeCommand,
} from "@t3tools/client-runtime/state/runtime";
import { connectionAtomRuntime } from "../connection/runtime";
import {
linkPrimaryEnvironmentToCloud,
type CloudLinkMode,
type CloudLinkTarget,
unlinkPrimaryEnvironmentFromCloud,
updatePrimaryCloudPreferences,
} from "./linkEnvironment";
const cloudLinkScheduler = createAtomCommandScheduler();
const cloudLinkConcurrency = {
mode: "serial" as const,
key: (input: { readonly target: CloudLinkTarget }) => input.target.environmentId,
};
export const linkPrimaryEnvironment = createRuntimeCommand(connectionAtomRuntime, {
label: "web:cloud:link-primary-environment",
scheduler: cloudLinkScheduler,
concurrency: cloudLinkConcurrency,
execute: (input: {
readonly target: CloudLinkTarget;
readonly clerkToken: string;
readonly mode?: CloudLinkMode;
}) => linkPrimaryEnvironmentToCloud(input),
});
export const unlinkPrimaryEnvironment = createRuntimeCommand(connectionAtomRuntime, {
label: "web:cloud:unlink-primary-environment",
scheduler: cloudLinkScheduler,
concurrency: cloudLinkConcurrency,
execute: (input: { readonly target: CloudLinkTarget; readonly clerkToken: string | null }) =>
unlinkPrimaryEnvironmentFromCloud(input),
});
export const updatePrimaryEnvironmentPreferences = createRuntimeCommand(connectionAtomRuntime, {
label: "web:cloud:update-primary-environment-preferences",
scheduler: cloudLinkScheduler,
concurrency: cloudLinkConcurrency,
execute: (input: { readonly target: CloudLinkTarget; readonly publishAgentActivity: boolean }) =>
updatePrimaryCloudPreferences(input),
});