* refactor: add a valibot schema for package registry validation
* fix: list view action menu
* chore: bump version to 0.1.16 in package.json
* refactor: extract supabase package from api
* ci: remove NODE_OPTIONS from build step and improve error handling in getLatestNpmPkgVersion function
* feat: npm package registry API
* refactor: move package registry files
* refactor: move jsr and npm api to a new package
* ci: add verify-package-export
* test: implement tests for npm package validation as kunkun extension
* chore: add missing dep for package-registry pkg
* feat: make provenance an optional input for npm validation function
* ci: add verify-package-export as dev dep to 2 packages that uses it
* feat: add rekor log API, and return commit from jsr & npm package in validation function
* feat: return github repo info from validation function of jsr and npm
* feat: extend ExtPublishMetadata to include optional GitHub repository details
* fix: eslint for ui package
* refactor: format desktop
* fix: eslint errors in desktop
* format: all code
* ci: add lint to CI
* feat: add more info to validation function returned from package-registry npm jsr
* pnpm lock
* feat: add 2 more variables to supabase extension metadata model
* format
* feat: add provenance card
* feat: add workflow path to ExtPublishMetadata and jsr/npm validation
* update provenance
* feat: make store extension and provenance more responsive
* chore: add globals to ui package
* fix: remove unnecessary any to fix eslint
* fix: svg sanitize
* chore: add @typescript-eslint/eslint-plugin to ui package to fix eslint
* fix: update eslint dep to fix error
* fix: try fixing eslint
* fix: update eslint configuration for improved compatibility
* chore: add globals package and update README for Discord invite
* fix: update eslint rules and upgrade typescript-eslint dependency
- Disabled additional eslint rules to resolve errors:
- @typescript-eslint/no-unused-expressions
- svelte/no-inner-declarations
- Upgraded typescript-eslint from version 8.19.1 to 8.20.0 for improved compatibility.
* update pnpm lock
---------
Co-authored-by: Huakun Shen <huaukun.shen@huakunshen.com>
* chore: add tauri-plugin-user-input submodule
* feat: add key display extension
There is delay, affecting key combination from being detected. I guess it's due to rdev grab, I have to remove grab and use listen directly.
* chore: upgrade tauri-plugin-user-input submodule
The user-input plugin improves mac's listen feature
* chore: upgrade user-input submodule
* fix: a platform-specific window command
* ci: add libxdo-dev dep for ubuntu
* chore: update tauri-plugin-user-input submodule to latest commit 5766c04
* feat: implement a file streamer for file share
Only server with hardcoded file path
* bump valibot version
* feat: add server-info gRPC module to serve server info
* feat: add ssl cert and public key to peers state
When peer is online, KK always have know its cert and pub key for future secure communication
* feat: add grpc ts package
* Enable "/refresh-worker-extension" rest API, grpc version isn't ready yet
* update pnpm lock
* ci: fix CI by moving protobuf install order
* ci: fix
* upgrade api due to valibot incompatibility
* fix: use fs instead of bun shell to be compatible with windows
* skip grpc pkg build on windows
* feat: local network file transfer prototype working
* fix: grpc build.ts
* download next to 14
* ci: add ci env try to fix next
* fix: hideRefreshBtn and a few other btns' hide API in iframe ext page
* feat: disable NODE_TLS_REJECT_UNAUTHORIZED for extension HMR refresh
* fix: manifest json schema with objectWithRest to allow any other fields in package.json
* chore: update valibot and related dependencies to version 1.0.0-beta.9 in pnpm-lock.yaml
* ci: add protobuf compiler installation to manifest-schema-upload workflow
* refactor: move grpc code from jarvis to a separate grpc crate
for easier testing
* feat(file-transfer): POC multi file + directory file transfer
* feat(file-transfer): replace file transfer recursive download in ts with rust
* feat(file-transfer): implement on_progress event for file transfer
* feat(file-transfer): report progress every 1MB instead of 100 iterations
* feat(file-transfer): add progress bar
* feat(file-transfer): UI
* feat(file-transfer): add file transfer bucket info preview
Show total size and number of files
* feat(file-transfer): improve UX
Show bucket info during confirm; improve progress bar UI, prevent inconsistent width
* feat(grpc): skip build in Cloudflare Pages due to missing protoc
* refactor: with cargo fix, unused imports removed
* ci: debug cloudflare pages env var
* fix(grpc): update environment variable access for Cloudflare Pages build check
* fix(grpc): add error handling for protoc command in build script
* chore: update kkrpc version to 0.0.13, remove kkrpc submodule, and enhance grpc build script logging
- Updated kkrpc dependency version from 0.0.12 to 0.0.13 in package.json.
- Removed the kkrpc submodule from the project.
- Enhanced logging in the grpc build script to include additional Cloudflare Pages environment variables for better debugging.
* fix(api): typescript error, remove base.json from tsconfig
* chore: update pnpm lock
* fix(api): update TypeScript configuration to extend base.json and clean up unused options
* refactor(api): update TypeScript configuration to extend path-alias.json and enhance compiler options
* fix(api): restore KunkunManifestPermission in PermissionUnion and update valibot import in schema tests
* fix: missing trait error
* fix: js require replaced with import
* test: fix a unit test with a more robust method
---------
Co-authored-by: Huakun Shen <huaukun.shen@huakunshen.com>
* Add some experiment code for crypto crate
* feat: add crypto crate with ssl, rsa, ed25519 for https, encryption, signing
* Implement aes encryption helper in crypto crate
* ci: add dep for CI rust test (protobuf)
* fix: try to fix window CI with next
* fix: CI
* ci: add dep for ubuntu
* ci: fix
* fix: openssl lib path in CI
* fix: CI
* update applications-rs, disable some tests
* fix: CI
* feat: add file transfer grpc proto and server setup
* CI: try to fix CI
* fix: missing proto in build.rs
* ci: add cargo build before cargo test
* fix: grpc file descriptor
* ci: fix CI by removing a redundant main.rs
* fix: disable local windows test in applications-rs which fails CI
* ci: run CI rust test only on ubuntu, windows is failing. will be handled in another PR
* fix: vue template
* fix: allow unused variable
* fix: remove node:buffer type from api shell.ts to avoid frontend build error
* try to fix test in create-kunkun
* upgrade api to 0.0.44, remove node:buffer
* upgrade next template to 15
* feat: turn the default server into a https server
* feat: make SSL certificate loadable from env
* feat: add conditional SSL cert
in debug mode, use local default cert, in production generate new self-signed cert every time app starts
* chore: add vscode debug config
* feat: add server public key
* feat: setup sqlite db encryption
* fix: settings hotkey
* chore: add .gitkeep
* ci: add node-fetch to dep for api package
* chore: add extension templates
* feat: add create-kunkun and cli package
* fix: cli and create-kunkun package location
* fix: cli package test
* ci: run test for CI pipeline only on Linux
The most important E2E test is run with docker, Linux anyways, no need to run on Mac and Windows
* 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