mirror of
https://github.com/kunkunsh/kunkun.git
synced 2025-04-20 05:29:17 +00:00

* chore: add vendor submodules * feat: add packages for db,ci,schema,api,jarvis cmds * feat: add tauri-jarvis-plugin * feat: implement extension commands list * fix(desktop): import path errors after packages refactor * chore: add self signed cert * fix: prevent prerender for desktop * fix(desktop): desktop sveltekit static build, use csr for dynamic route * feat: add error handling page and components * refactor: component lib * refactor: move more types, functions and components out of desktop * refactor(ui): more refactor * refactor(ui): move store components to @kksh/ui * ci: add CI for build & test * refactor: rename @kksh/extensions to @kksh/extension * ci: add 2 more ci * ci: fix * fix: CI env var * chore: add changeset * feat: implement extension store item detail view * feat: implement extension store install, uninstall, upgrade * format * revert: upgradable logic, the new one doesn't work yet * refactor: make @kksh/ui dependent only on @kksh/api Reason: @kksh/ui may be published later for building website, all its dependency packages must be also published. To avoid trouble it should be standalone, depend only on packages already published * refactor: cleanup * fixed: some typescript error * chore: got typedoc working on @kksh/api * ci: disable manifest schema upload CI on push
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { invoke } from "@tauri-apps/api/core"
|
|
import {
|
|
array,
|
|
boolean,
|
|
nullable,
|
|
number,
|
|
object,
|
|
optional,
|
|
parse,
|
|
string,
|
|
type InferOutput
|
|
} from "valibot"
|
|
import { generateJarvisPluginCommand } from "./common"
|
|
|
|
export const FileSearchParams = object({
|
|
locations: array(string()),
|
|
query: optional(string()),
|
|
ext: optional(string()),
|
|
depth: optional(number()),
|
|
limit: optional(number()),
|
|
hidden: optional(boolean(), false),
|
|
ignore_case: optional(boolean(), false),
|
|
file_size_greater: optional(number()),
|
|
file_size_smaller: optional(number()),
|
|
file_size_equal: optional(number()),
|
|
created_after: optional(number()),
|
|
created_before: optional(number()),
|
|
modified_after: optional(number()),
|
|
modified_before: optional(number())
|
|
})
|
|
export type FileSearchParams = InferOutput<typeof FileSearchParams>
|
|
|
|
export function fileSearch(
|
|
searchParams: Omit<FileSearchParams, "hidden" | "ignore_case"> & {
|
|
hidden?: boolean
|
|
ignore_case?: boolean
|
|
}
|
|
): Promise<string[]> {
|
|
return invoke(generateJarvisPluginCommand("file_search"), {
|
|
searchParams: parse(FileSearchParams, searchParams)
|
|
})
|
|
}
|