Initial import of LogDarioSeq baseline
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>
This commit is contained in:
24
cli/spec/platform/cli_effect.mli
Normal file
24
cli/spec/platform/cli_effect.mli
Normal file
@@ -0,0 +1,24 @@
|
||||
(** Runtime effect abstraction. *)
|
||||
|
||||
type 'a t
|
||||
type 'a resolver
|
||||
|
||||
val pure : 'a -> 'a t
|
||||
val error : exn -> 'a t
|
||||
val map : ('a -> 'b) -> 'a t -> 'b t
|
||||
val map_s : ('a -> 'b t) -> 'a Rrbvec.t -> 'b Rrbvec.t t
|
||||
val bind : 'a t -> ('a -> 'b t) -> 'b t
|
||||
val both : 'a t -> 'b t -> ('a * 'b) t
|
||||
val all : 'a t Rrbvec.t -> 'a Rrbvec.t t
|
||||
val catch : 'a t -> (exn -> 'a t) -> 'a t
|
||||
val finally : 'a t -> (unit -> unit t) -> 'a t
|
||||
val sleep : float -> unit t
|
||||
val wait : unit -> 'a t * 'a resolver
|
||||
val wakeup : 'a resolver -> 'a -> unit
|
||||
val is_pending : 'a t -> bool
|
||||
val async : (unit -> unit t) -> unit
|
||||
val on_any : 'a t -> ('a -> unit) -> (exn -> unit) -> unit
|
||||
|
||||
module Infix : sig
|
||||
val ( >>= ) : 'a t -> ('a -> 'b t) -> 'b t
|
||||
end
|
||||
50
cli/spec/platform/cli_platform.mli
Normal file
50
cli/spec/platform/cli_platform.mli
Normal file
@@ -0,0 +1,50 @@
|
||||
val hostname : unit -> string
|
||||
val argv : unit -> string array
|
||||
|
||||
type login_callback_request = { target : string option }
|
||||
type login_callback_response = { status : int; body : string }
|
||||
|
||||
type login_callback_server_error =
|
||||
| Login_callback_timeout
|
||||
| Login_callback_server_start_failed of string
|
||||
| Login_callback_server_aborted of string
|
||||
|
||||
val login_callback_server :
|
||||
host:string ->
|
||||
port:int ->
|
||||
timeout_span:float ->
|
||||
on_listen:(unit -> (unit, string) result Cli_effect.t) ->
|
||||
handle_request:(login_callback_request -> login_callback_response * 'result) ->
|
||||
('result, login_callback_server_error) result Cli_effect.t
|
||||
|
||||
module Symbols : sig
|
||||
val ellipsis : string
|
||||
val linked_arrow : string
|
||||
val tree_last : string
|
||||
val tree_middle : string
|
||||
val tree_pipe : string
|
||||
end
|
||||
|
||||
module HTTP : sig
|
||||
val request :
|
||||
?timeout_span:float ->
|
||||
Fetch.requestMethod ->
|
||||
string ->
|
||||
headers:(string * string) Rrbvec.t ->
|
||||
body:string ->
|
||||
(Fetch.Response.t * string) Cli_effect.t
|
||||
end
|
||||
|
||||
module Crypto : sig
|
||||
val sha256_hex : string -> string
|
||||
val sha256_base64url : string -> string
|
||||
val random_base64url : int -> string
|
||||
val base64url_decode : string -> string
|
||||
end
|
||||
|
||||
module Events : sig
|
||||
type subscription = { close : unit -> unit Cli_effect.t }
|
||||
|
||||
val connect :
|
||||
url:string -> on_chunk:(string -> unit) -> subscription Cli_effect.t
|
||||
end
|
||||
53
cli/spec/platform/cli_unix.mli
Normal file
53
cli/spec/platform/cli_unix.mli
Normal file
@@ -0,0 +1,53 @@
|
||||
type error = EAGAIN | EWOULDBLOCK | ETIMEDOUT | ESRCH | EPERM
|
||||
type access_permission = R_OK | W_OK
|
||||
type open_flag = O_RDWR
|
||||
type file_descr = int
|
||||
type stats = { st_size : int; st_mtime : float }
|
||||
type process_result = { status : int; stdout : string; stderr : string }
|
||||
type mkdir_result = Created | Already_exists
|
||||
|
||||
exception Cli_unix_error of error * string * string
|
||||
|
||||
val mkdir : string -> int -> unit
|
||||
val rmdir : string -> unit
|
||||
val mkdir_exclusive : string -> int -> mkdir_result
|
||||
val file_exists : string -> bool
|
||||
val is_directory : string -> bool
|
||||
val readdir : string -> string array
|
||||
val mkdir_p : string -> unit
|
||||
val write_text_file : string -> string -> unit
|
||||
val read_text_file : string -> string
|
||||
val read_stdin_all : unit -> string
|
||||
val write_binary_file : string -> string -> unit
|
||||
val read_binary_file : string -> string
|
||||
val copy_file : string -> string -> unit
|
||||
val remove_tree : string -> unit
|
||||
val rename : string -> string -> unit
|
||||
val getpid : unit -> int
|
||||
val process_running : int -> bool
|
||||
val chmod : string -> int -> unit
|
||||
val access : string -> access_permission Rrbvec.t -> unit
|
||||
val stat : string -> stats
|
||||
val environment : unit -> string array
|
||||
val gethostname : unit -> string
|
||||
val openfile : string -> open_flag Rrbvec.t -> int -> file_descr
|
||||
val close : file_descr -> unit
|
||||
|
||||
val create_process_env :
|
||||
string ->
|
||||
string array ->
|
||||
string array ->
|
||||
file_descr ->
|
||||
file_descr ->
|
||||
file_descr ->
|
||||
int
|
||||
|
||||
val run_process_capture :
|
||||
string -> string Rrbvec.t -> string array -> process_result
|
||||
|
||||
val start_process_capture_session_line :
|
||||
string -> string Rrbvec.t -> string array -> process_result
|
||||
|
||||
val kill : int -> int -> unit
|
||||
val open_url : string -> bool
|
||||
val write_stdout : string -> unit
|
||||
Reference in New Issue
Block a user