58 Commits

Author SHA1 Message Date
Huakun
bb9a46935c
Feature: add drizzle (#264)
* feat: add drizzle orm

* feat: update drizzle configuration and schema management

- Added a check for DB_FILE_NAME in drizzle.config.ts to ensure it's set.
- Updated package.json to change the package name to @kksh/drizzle and added exports for schema and relations.
- Enhanced README.md with instructions for using the schema generation.
- Refactored schema.ts for improved readability and organization of imports.

* add tauri-plugin-sql

* feat: add database select and execute commands

- Introduced `select` and `execute` functions in the database module to facilitate querying and executing SQL commands.
- Updated the Tauri plugin to expose these commands, allowing for database interactions from the frontend.
- Added corresponding permissions for the new commands in the permissions configuration.
- Enhanced the database library with JSON value handling for query parameters.

* fix: sqlite select command

* drizzle ORM verified working

* refactor: clean up database module by removing unused SelectQueryResult type and disabling eslint for explicit any usage

* pnpm lock update

* Update enum definition for type safety

- Changed enum to use 'as const' for better type inference
- Ensured more robust handling of extension publish sources

* reimplemented most db command functions with ORM (migrate from tauri command invoke

* fixed searchExtensionData orm function

* Refactor ORM commands and searchExtensionData function for improved readability and consistency

- Reformatted import statements for better organization.
- Cleaned up whitespace and indentation in searchExtensionData function.
- Enhanced readability of SQL conditions and query building logic.
- Disabled eslint for explicit any usage in the troubleshooters page.

* Fix test assertions in database module to use array indexing for results

format rust code

* update deno lock

* move drizzle from desktop to drizzle package

* update pnpm version and lock

* refactor: migrate db tauri commands to drizzle

* refactor: remove unused extension and command CRUD operations from db module
2025-04-01 06:15:10 -04:00
Huakun
48e2e47f96
Remove supabase (#263)
* remove supabase package

* upgrade valibot

* removed supabase package

Migration not complete yet

* update submodule

* fixed some supabase errors

* Add new fields to extension models

- Added `id` field to `ExtPublish`
- Expanded `DBExtension` with multiple new properties:
  - `api_version`, `author_id`, `created_at`,
  - `downloads`, `icon`, `identifier`,
  - `long_description`, `name`,
  - `readme`, `short_description`,
  - and `tarball_size`

* Refactor: clean up unused Supabase imports

- Removed commented-out Supabase imports from various files to streamline the codebase.
- Updated `created_at` type in `ExtPublish` model from `date` to `string` for consistency.

* update icon enum to union

* fix type errors after removing supabase

* format

* more types fixed

* feat: enhance command handling and update SDK version
2025-03-26 08:50:55 -04:00
Huakun
c39e98258c
Fix: kkrpc serialization backward compatibility (#256)
* update deno lock

* chore: update kkrpc and tauri-api-adapter versions, enhance serialization handling

- Bump kkrpc version to 0.2.2 in multiple packages including desktop and api.
- Update tauri-api-adapter version to 0.3.27.
- Introduce a new utility function to determine kkrpc serialization based on API version.
- Refactor RPC channel initialization to include serialization version in desktop extension handling.
- Increment desktop package version to 0.1.36 and api package version to 0.1.7.

* chore: update dependencies in pnpm-lock and package.json

- Upgrade postcss version for autoprefixer to 8.5.3 in pnpm-lock.yaml.
- Add semver package with version 7.7.1 in package.json.
- Update CHANGELOG.md to reflect recent kkrpc upgrades and changes.
2025-03-19 03:01:40 -04:00
Huakun Shen
d27731d0e6
hotfix: hard coded debug logic in shell spawn API 2025-03-18 21:09:44 -04:00
Huakun
0bca6739a7
[feat] New sysinfo api, update dep (#251)
* update tauri-plugin-system-info submodule to latest commit cb32fe8

* Update dependencies to latest versions, including valibot to 1.0.0-rc.4 and kkrpc to 0.2.1 across multiple packages. Bump api package version to 0.1.6.

* Update desktop and API package versions; change development server port and URL
2025-03-18 08:42:39 -04:00
Huakun
b4afcaac6c
UI updates/fixes (#244)
* fix: change icon in manifest

* refactor(ui): move BorderBeam component to ui package and update imports

* feat(ui): add new animation components and keyframes utility

* chore(deps): remove svelte-motion and related dependencies

* chore(deps): add svelte-motion and related dependencies

* fix(ui): eslint

* fix: extension store demo image display

* fix(ui): go to settings item in dropdown menu

* format
2025-03-10 13:59:19 -04:00
Huakun
6ffc6f1543
fix(api): update matchPathAndScope (#229)
Translate windows style back slash to posix style slash in order for minimatch to work.
https://www.npmjs.com/package/minimatch#windows
2025-03-03 05:22:20 -05:00
Huakun
a42d4d97eb
Fix: windows powershell window (#228)
* chore: bump desktop package version to 0.1.30

* chore: increase Node.js memory limit for desktop build process

* chore: configure Node.js memory limit for desktop build

* update tauri-plugin-shellx, hide powershell window in whereIsCommand
2025-03-03 05:21:42 -05:00
Huakun
41302a29ff
fix: list view item's action panel and listview undefined error (#224)
* fix: list view item's action panel and listview undefined error

* chore: increase Node.js memory limit for build processes

* chore: configure Node.js memory limit for Tauri build process

* refactor: delete unecessary ui component code
2025-03-01 21:43:23 -05:00
Huakun
8751fbeff4
feat: add custom configurable app search paths (#221)
* feat: add custom configurable app search paths

* feat(i18n): add English and Chinese translation for app search path settings

* format
2025-03-01 12:36:37 -05:00
Huakun
97cd20906f
Feature: add extension api (hide and paste) (#210)
* feat: add paste API to extension API

* feat(desktop): enhance clipboard and hotkey utilities

- Add `hideAndPaste` utility function to simplify window hiding and clipboard pasting
- Adjust key press and sleep timings for more reliable input simulation
- Implement window focus listener in clipboard extension
- Bind input element reference for automatic focus management

* feat(permissions): enhance clipboard permission handling

- Update clipboard permission schema to include paste permission
- Modify clipboard API to check for paste permission before executing
- Refactor permission map and schema for more flexible permission management

* feat(desktop): refactor extension command search and rendering

- Add `svelte-inspect-value` for debugging
- Implement new `ExtCmds` component to replace `ExtCmdsGroup`
- Enhance extension command search with separate Fuse.js instances for installed and dev extensions
- Simplify extension command filtering and rendering logic
- Add derived stores for extension commands with improved type safety

* feat(desktop): improve extension command search filtering

* bump @kksh/api version

* feat(permissions): add clipboard paste permission description
2025-02-26 04:47:43 -05:00
Huakun
a92c266d32
Feature: fine grain kill API for extension (#201)
* upgrade tauri-plugin-shellx

* feat(shell): add killPid method to shell API with new permission

* fix: extension new window

* feat(shell): enhance process management and logging in extensions

- Add debug logging for extension process events
- Implement process tracking in UI worker
- Update shell API to support custom process recording
- Modify extension template to demonstrate process spawning
- Refactor shell command handling with improved error handling

* Add killPid extension API to @kksh/api

* chore(deps): update tauri-plugin-shellx-api to version 2.0.15

* pnpm lock

* chore(deps): update dependencies and lock file

- Upgrade ESLint to version 9.21.0
- Update @types/bun to version 1.2.3
- Bump various development dependencies
- Reorganize package.json dependencies in ui package

* chore(deps): update SvelteKit template dependencies

- Add @eslint/js version 9.21.0
- Update package.json dependency order
- Sync pnpm-lock.yaml with package.json changes

* chore: add eslint to desktop

* chore(deps): remove local tauri-plugin-shellx and use published version 2.0.15

* bump desktop to 0.1.28
2025-02-26 02:06:06 -05:00
Luca Giannini
872b601338
crosslink issue on linux, and cleanup entire dir (#177)
* crosslink issue on linux, and cleanup entire dir

* moved copy_dir_all to rust

* using dircpy instead of diy due to complications

* refactor: move copy_dir_all to jarvis plugin

All commands are in jarvis plugin, this is more organized.
And this API will be exposed to extensions.

---------

Co-authored-by: Huakun Shen <huakun.shen@huakunshen.com>
2025-02-22 02:58:41 -05:00
Huakun
a0bd2d8573
Feature: enable clipboard paste for windows and linux (#185)
* feat(shell): add hidden window style to PowerShell script execution

Modify PowerShell script execution to run with hidden window style in both TypeScript API and Rust plugin to prevent visible command windows

* feat(desktop): implement cross-platform paste functionality in clipboard extension

* feat(desktop): enhance hotkey functionality with registration and update methods

* fix(desktop): remove unnecessary border from command root styling

* feat(desktop): add cross-platform paste support for clipboard extension

- Import Tauri OS plugin to detect platform
- Implement platform-specific paste methods for macOS, Windows, and Linux
- Add error handling for unsupported platforms
- Center windows in Tauri configuration

* feat(desktop): extend global key handler to support Linux control key for settings navigation
2025-02-22 00:41:35 -05:00
Huakun
369a9719fd
feat(desktop): implement quick install hotkey for store (#164) 2025-02-19 08:47:43 -05:00
Huakun Shen
0eacf01de2
update deno.lock 2025-02-07 05:11:29 -05:00
Huakun Shen
27fdff03d9
feat: expose helper API in headless and UI modules
- Add helper API to headless module exports
- Update UI custom module to include helper API
- Bump package version to 0.1.3
2025-02-07 02:45:57 -05:00
Huakun Shen
7b6c0934ab
Feature: add helper api (#95)
* feat: add helper API for installation guides and update UI components

- Implement helperAPI with methods to navigate to installation guides for Deno, FFmpeg, and Homebrew
- Update extension and help page components to use new helper API
- Modify command filtering in builtin commands
- Adjust page navigation in help pages to use goHome instead of goBack
- Remove unused imports and clean up components

* chore: bump @kksh/api to 0.1.2 and update dependent packages
2025-02-07 02:41:50 -05:00
Huakun Shen
490368428e
UI (#94)
* feat: add publisher link to extension detail

* fix: improve IconMultiplexer and StoreExtDetail component rendering

* feat: add published date to extension details view

* chore: add moment.js and clean up imports in StoreExtDetail

* fix: support cloudflare worker

Otherwise cloudflare worker gets html instead of json

* refactor: move AppsCmds component to desktop app

* bump: version to 0.1.1

* fix: package.json fetching cors error

* fix: improve files field validation in verify command
2025-02-07 01:26:56 -05:00
Huakun Shen
f37605f9a2
Refactor: rename api subpackage (#93)
* refactor(api): rename ui subpackage name

* refactor(api): update import paths for template UI schemas

* chore: update dependencies and bump package versions

* chore(api): bump package version to 0.1.1

* refactor(api): rename IUiIframe to IUiCustom and related types

* format
2025-02-06 21:54:35 -05:00
Huakun Shen
46d6872614
refactor: Command class rename (#90)
* refactor: rename WorkerExtension to TemplateUiCommand, HeadlessWorkerExtension to HeadlessCommand

* ci: update npm publish workflow to include refactor branch

* ci: add push trigger for JSR publish workflow and bump API package version

* ci: add pnpm setup to npm publish workflow

* chore: add repository field to package.json for @kksh/api
2025-02-05 12:16:33 -05:00
Huakun Shen
4626acf534
chore: update jsr.json exports to add headless module 2025-02-02 11:24:11 -05:00
Huakun Shen
2fd119f842
chore: remove supabase exports from jsr.json 2025-02-02 11:21:20 -05:00
Huakun Shen
892c31ae31
chore: update deno.lock 2025-02-02 11:18:57 -05:00
Huakun Shen
e260264797
refactor: alias WorkerExtension to TempalteUiExtension 2025-02-02 11:12:58 -05:00
Huakun Shen
798cc773e5
Feature: upgrade kkrpc (#84)
* feat: upgrade kkrpc and tauri-api-adapter

* feat: update package.json exports for @kksh/api

* chore: bump @kksh/api package version to 0.0.56

* chore: bump @kksh/api version to 0.0.56
2025-01-31 05:07:04 -05:00
Huakun Shen
63bc401d8e
fix: system command filtering 2025-01-27 23:10:05 -05:00
Huakun Shen
51f2f22f69
feat: add KV interface to iframe, fix path alias bug (#79)
* feat: add KV interface to iframe, fix path alias bug

* update template README's publish instruction

* chore: update dependencies and sveltekit template
2025-01-27 17:20:54 -05:00
Huakun Shen
e719176b9c
Fix: form submit (#76)
* fix: worker template extension form submit

* bump @kksh/api

* update api package version
2025-01-24 02:37:36 -05:00
Huakun Shen
0cc744592f
Feature: add author, size, readme display for extension store page (#74)
* fix: update email field in KunkunExtManifest to be optional and nullable

* refactor: update Supabase type generation command and enhance database types structure

- Changed the Supabase type generation command to include a specific project reference and output path.
- Refactored the database types in `database.types.ts` for improved readability and added new fields, including `extension_state` and `package_json` in the `ext_publish` table.
- Ensured consistent formatting across type definitions for better maintainability.

* feat: add optional README path to ExtPackageJson and enhance tests for README retrieval

* feat: add optional readmeContent to ExtensionPublishValidationData and retrieve README in validateJsrPackageAsKunkunExtension

* feat: add optional readme field to database types for improved package metadata

* feat: enhance StoreExtDetail to display package metadata including author and contributors

- Added packageJson prop to StoreExtDetail for improved extension metadata display.
- Implemented rendering of author and contributors from packageJson.
- Integrated README content display in StoreExtDetail if available.
- Updated +page.svelte to parse and provide packageJson data using valibot for validation.

* feat: enhance TauriLink component to support conditional rendering based on Tauri environment

- Added detection for Tauri environment using the browser variable.
- Updated the TauriLink component to render a button when in Tauri, and an anchor tag for external links otherwise.
- Improved user experience by ensuring appropriate link behavior based on the application context.

* feat: add unpacked size to npm registry

* feat: replace size in ext_publish table to tarball_size, add unpacked_size (only applicable to npm)

* feat: add pretty-bytes dependency and update debug package version

- Added `pretty-bytes` package with version 6.1.1 to `package.json`.
- Updated `debug` package to use `supports-color@9.4.0` in `pnpm-lock.yaml` for improved compatibility.

* feat: add tarball_size field to database types for improved package metadata

* feat: add readme fetching for npm registry, readme from github

* fix: remove console.log from NPM API test to clean up output

* style: update extension store details

* style: update README section in StoreExtDetail component for improved styling

* fix: update command input placeholder text in English, Russian, and Chinese translations for clarity

* chore: bump version to 0.1.18 in package.json

* fix: lint
2025-01-23 07:07:29 -05:00
Huakun Shen
f03cb6cbad fix: throw error when extension permission failed. It didn't throw error 2025-01-21 10:34:52 -05:00
Huakun Shen
402208e95a
Feature: license check (#67)
* feat: add required license field to manifest

* chore: add license MIT to all templates

* feat: add license check to jsr and npm validation

* fix: supabase export

split every item into its own subexport for better debugability

* fix: supabase imports

* feat: hide app when escape is pressed

* fix: update package version in api test from 0.0.6 to 0.0.20

* fix: update test for kunkun extension with new version and commit details

* fix: update kunkun extension test to use version 0.0.4

* fix: update kunkun extension test to reflect new version 0.0.20 and updated commit details

* feat: display downloads in extension details

* feat: add downloads display to store
2025-01-18 22:55:43 -05:00
Huakun Shen
7a3b6f3983
fix: listview action menu (#64)
* 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
2025-01-18 02:26:23 -05:00
Huakun Shen
21a90259ac
chore: update supabase database types 2025-01-17 00:29:10 -05:00
Huakun Shen
e4d1441d73
Feature: support npm extension publish (#62)
* 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>
2025-01-16 06:00:07 -05:00
Huakun Shen
d73ae6542c
feat: hide main window when close requested (#59)
* feat: hide main window when close requested

* fix: jsr test

* fix: fix nuxt tailwind version, the latest verison has bug

* update pnpm lock
2025-01-13 18:33:31 -05:00
Huakun Shen
f6b70bade0 feat: add repo ownership check for org in jsr validation algo 2025-01-12 12:56:13 -05:00
Huakun Shen
e21bef154e
Feature: install extension from JSR (#53)
* chore: upgrade many dependencies

* fix: @kksh/svelte, migrate 5

* refactor: move dialog plugin code out of ui package

* chore: disable check-types in api build.ts

Causing build error in kunkun-services

* feat: add jsr package

* feat: implement jsr package with API and parsers for jsr

* feat: modify API, add function to extract linked github repo from html

* perf: improve jsr package API with @hk/jsr-client

* feat: add jsr package version table for publishing extension

* fix: dependency and type incompatibility in ui package

* feat: add validateJsrPackageAsKunkunExtension function in jsr package

* feat: improve jsr table

* feat: add a ElementAlert component

* feat: update ElementAlert UI

* chore: update deno.lock

* chore: enable submodule support in jsr-publish workflow

* chore: bump version to 0.0.48 in jsr.json

* feat: regenerate supabase types, add author_id

* Move @kksh/jsr package to @kksh/api

* update deno.lock

* chore: change @tauri-plugin/plugin-upload version from git url to version

* feat: add rounded corner for ElementAlert

* chore: update deno.lock

* chore: bump version to 0.0.51 in jsr.json and update import paths for ExtPackageJson

* feat: add publishExtJSR API to SupabaseAPI

* refactor: replace "@hk/jsr-client" from jsr with @huakunshen/jsr-client from npm

* chore: update  deno.lock

* feat: update validateJsrPackageAsKunkunExtension return type

* refactor: improve error message

* feat: add metadata to ext_publish, update database.types.ts

* feat: add models module for Supabase with ExtPublishMetadata and source type enumeration

* feat: support installing JSR package as extension

Since JSR overwrites package.json with its own code to be compatible with npm, causing manifest parsing to be impossible. I add metadata field to ext_publish.
When extension comes from jsr, kunkun app will fetch the original package.json from jsr and overwrite the one modified by jsr.

* fix: add missing dep @tauri-apps/plugin-upload to @kksh/extension

* chore: update version to 0.0.52 in version.ts
2025-01-10 08:23:18 -05:00
Huakun Shen
83efba033d
revert: catalog migration
using catalog caused missing dependency error is bundled app
2025-01-07 14:38:21 -05:00
Huakun Shen
1b8a99d897
Refactor: use pnpm catalog (#49)
* refactor: more packages moved to use catalog

* chore: version update

* refactor: fix a import path
2025-01-06 20:32:13 -05:00
Huakun Shen
01bc0ea932
API Docs Update (#47)
* bump: valibot to ^1.0.0-beta.10

* refactor: re-export some API interfaces in root index.ts
2025-01-06 14:11:23 -05:00
Huakun Shen
f48484f476
bump: api package and its dependencies version
Re-export client types in @kksh/api root package
2025-01-06 03:04:58 -05:00
Huakun Shen
f89cf8fe6a
Feature: Headless Command (#44)
* chore: add check-types

* refactor: api package file structure update

* feat: add headless worker extension API

* feat: add HeadlessCmd to manifest schema

* feat: make each type of cmds optional in manifest

There may be more types of cmds in the future, this makes backward compatibility easier.

* feat: implement headless extension command in app

A demo cmd implemented as well.

* refactor: move api package's API server files

* refactor: reformat all
2025-01-05 21:12:56 -05:00
Huakun Shen
d3f18e6618
Feature: KV API (#43)
* feat: add kv store API for extensions

* feat: add kv api to @kksh/api package

* bump: @kksh/api to 0.0.47

* feat: add IKV type export to UI module

* feat: add delete api for KV API
2025-01-05 17:19:21 -05:00
Huakun Shen
41d9c72277
[feat] key display (#40)
* 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
2025-01-04 22:31:20 -05:00
Huakun Shen
80ad705f7c
Feature: clipboard history extension (#35)
* feat: implement clipboard history preview

* feat: clipboard history pagination

* refactor: format code

* fix: sql schema

* feat: add json metadata to unit test

* upgrade: js dependencies

* upgrade: desktop rust dependencies

* fix: clipboard history duplicate key bug when searchTerm clears

* upgrade: tauri-plugin-network submodule solve pnpm lock file

* fix: grpc package CI

* chore: update turbo.json outputs to include dist and build directories

* fix: try to fix template-ext-vue tailwind module.export

* ci: prevent error when protoc is not installed in CF pages

* fix: update writeFile function to accept ReadableStream as data type
2024-12-19 09:31:56 -05:00
Huakun Shen
99b940b03b
File Transfer (Local Network) (#34)
* 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>
2024-12-11 08:14:40 -05:00
Huakun Shen
da8e37c4a1
Security with cryptography (#32)
* 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
2024-11-24 00:45:36 -05:00
Huakun Shen
84b82f47a4
Improve Icon Multiplexer (#31)
* feat: improve IconMultiplexer

* feat: add built-in command "reload extensions"

* bump package version

* feat: replace @gcornut/valibot-json-schema with @valibot/to-json-schema

* fix: some icon bug

* fix: import path

* ci: debug
2024-11-21 07:04:48 -05:00
Huakun Shen
ad30a8c3bb
fix: duplicate api calls from comlink (#27)
* refactor: replace comlink with kkrpc

* fix: import path in api pkg and btn styling in ui iframe page

* fix: fixed fetch API from kkRPC migrate

* refactor: replace comlink-stdio with kkrpc

* update deno lock

* bump @kksh/api

* update API version

* publish api pkg again to fix kkrpc version

* update pnpm lock

* dep: fix dependency problems

* dep: update deno.lock

* chore: remove 2 submodules

they were added only for integration development

* update pnpm lock

* fix: test template path

* format: with prettier

* downgrade next version

* ci: try to fix next build on windows

* try to fix CI

* Revert "try to fix CI"

This reverts commit b9c63c392f50f1d2d3ceec406e49b1af2348c740.

* upgrade tauri-api-adapter

* try to fix next

* remove templates from pnpm workspace

* update CI test

* publish @kksh/api with upgraded tauri-api-adapter to fix nextjs template
2024-11-19 05:57:31 -05:00