packages.lisp (2846B)
1 (defpackage cohost.util 2 (:use :cl) 3 (:export #:make-keyword #:sym->str #:strcat #:-> #:->> 4 #:encode-json-boolean #:encode-json-array #:sassoc #:assoc-val #:lisp-to-cdn-case)) 5 6 (defpackage cohost.file 7 (:use :cl) 8 (:export #:filesize)) 9 10 (defpackage cohost.client 11 (:use :cl :cohost.util) 12 (:export #:cohost-client #:init-client #:base-uri #:api-path #:login #:login-with-token 13 #:http-request #:cookie-jar #:new-post #:adult-content #:content-blocks 14 #:content-warnings #:headline #:tags #:attachment #:file-attachment #:markdown 15 #:alt-text #:attachment-id #:pathname #:filename #:content-type #:content #:copy-post 16 #:clone-block #:get-post #:get-dash #:attachment-pathname #:attachment-filename 17 #:attachment-content-type #:new-markdown-block #:new-attachment #:new-file-attachment 18 #:project #:draft #:share-of #:post #:simple-post #:post-id 19 #:%event-stream #:open-event-stream)) 20 21 (defpackage cohost.rpc 22 (:use :cl) 23 (:import-from :cohost.util #:sym->str) 24 (:import-from :cohost.client #:base-uri #:api-path #:http-request #:cookie-jar) 25 (:import-from :json #:decode-json-from-string #:lisp-to-camel-case #:encode-json-alist-to-string) 26 (:export #:cohost-rpc #:cohost-json-rpc #:cohost-trpc-batch 27 #:define-trpc-request)) 28 29 (defpackage cohost.client-v1-impl 30 (:use :cl :cohost.util :cohost.client :cohost.file) 31 (:import-from :cohost.rpc #:cohost-rpc #:cohost-json-rpc #:cohost-trpc-batch #:define-trpc-request) 32 (:import-from :babel #:string-to-octets) 33 (:import-from :base64 #:base64-string-to-usb8-array #:usb8-array-to-base64-string) 34 (:import-from :ironclad #:derive-key #:make-kdf)) 35 36 (defpackage cohost 37 (:use :cl) 38 (:import-from :cohost.client #:base-uri #:login #:login-with-token #:simple-post #:new-post 39 #:new-attachment #:new-file-attachment #:new-markdown-block 40 #:copy-post #:post 41 #:post-id #:project #:adult-content #:content-blocks 42 #:content-warnings #:draft #:headline #:tags #:share-of 43 #:alt-text #:attachment-id #:attachment-pathname 44 #:attachment-filename #:attachment-content-type #:content 45 #:get-post #:get-dash) 46 (:export #:init-client #:base-uri #:login #:login-with-token #:simple-post #:new-post 47 #:new-attachment #:new-file-attachment #:new-markdown-block 48 #:copy-post #:post 49 #:post-id #:project #:adult-content #:content-blocks 50 #:content-warnings #:draft #:headline #:tags #:share-of 51 #:alt-text #:attachment-id #:attachment-pathname 52 #:attachment-filename #:attachment-content-type #:content 53 #:get-post #:get-dash))