Establishes version control for the personal Logseq DB fork before starting the server-client architecture migration and domain features described in docs/agent-guide and the approved implementation plan. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
75 lines
1.9 KiB
OCaml
75 lines
1.9 KiB
OCaml
type server_status = Starting | Ready | Error | Unknown
|
|
|
|
type server = {
|
|
repo : Cli_primitive.repo;
|
|
graph : Cli_primitive.graph option;
|
|
pid : Cli_primitive.pid;
|
|
host : string;
|
|
port : Cli_primitive.port;
|
|
base_url : Cli_primitive.url;
|
|
status : server_status;
|
|
revision : string option;
|
|
root_dir : Cli_primitive.path option;
|
|
owner_source : Cli_primitive.owner_source;
|
|
owned : bool;
|
|
raw : Melange_edn_melange.any option;
|
|
}
|
|
|
|
type start_result = {
|
|
repo : Cli_primitive.repo;
|
|
owner_source : Cli_primitive.owner_source;
|
|
owned : bool;
|
|
}
|
|
|
|
type stop_result = { repo : Cli_primitive.repo }
|
|
type revision_mismatch = { cli_revision : string; servers : server Rrbvec.t }
|
|
|
|
type cleanup_result = {
|
|
cli_revision : string;
|
|
checked : int;
|
|
mismatched : int;
|
|
eligible : int;
|
|
skipped_owner : int;
|
|
killed : server Rrbvec.t;
|
|
failed : (server * Error.t) Rrbvec.t;
|
|
}
|
|
|
|
val resolve_root_dir : Cli_config.t -> Cli_primitive.path
|
|
val graphs_dir : Cli_config.t -> Cli_primitive.path
|
|
|
|
val lock_path :
|
|
root_dir:Cli_primitive.path -> Cli_primitive.repo -> Cli_primitive.path
|
|
|
|
val db_worker_runtime_script_path : unit -> Cli_primitive.path
|
|
|
|
val ensure_server :
|
|
Cli_config.t ->
|
|
Cli_primitive.repo ->
|
|
create_empty_db:bool ->
|
|
Transport.invoke_config Error.build_result Cli_effect.t
|
|
|
|
val start_server :
|
|
Cli_config.t ->
|
|
Cli_primitive.repo ->
|
|
create_empty_db:bool ->
|
|
start_result Error.build_result Cli_effect.t
|
|
|
|
val stop_server :
|
|
Cli_config.t ->
|
|
Cli_primitive.repo ->
|
|
stop_result Error.build_result Cli_effect.t
|
|
|
|
val restart_server :
|
|
Cli_config.t ->
|
|
Cli_primitive.repo ->
|
|
start_result Error.build_result Cli_effect.t
|
|
|
|
val list_servers : Cli_config.t -> server Rrbvec.t Cli_effect.t
|
|
val list_graph_items : Cli_config.t -> Graph_types.graph_item Rrbvec.t
|
|
val list_graphs : Cli_config.t -> Cli_primitive.graph Rrbvec.t
|
|
|
|
val cleanup_revision_mismatched_servers :
|
|
Cli_config.t ->
|
|
cli_revision:string ->
|
|
cleanup_result Error.build_result Cli_effect.t
|