From 71e5c5f31611550de4708956f906709001e7e512 Mon Sep 17 00:00:00 2001
From: Huakun Shen <huakun.shen@huakunshen.com>
Date: Fri, 8 Nov 2024 16:51:38 -0500
Subject: [PATCH] fix: avoid importing @kksh/api/ui/worker in @kksh/ui

the worker package initialize comlink API's and cause trouble for regular website when ui package is imported
---
 packages/api/src/models/index.ts                          | 3 +++
 packages/ui/package.json                                  | 1 +
 .../components/extension/templates/MarkdownView.svelte    | 2 +-
 .../src/components/extension/templates/form-view.svelte   | 2 +-
 .../ui/src/components/extension/templates/form.svelte     | 2 +-
 .../src/components/extension/templates/list-detail.svelte | 2 +-
 .../src/components/extension/templates/list-item.svelte   | 2 +-
 .../src/components/extension/templates/list-view.svelte   | 2 +-
 .../extension/templates/metadata/Metadata.svelte          | 8 +-------
 .../components/extension/templates/metadata/label.svelte  | 2 +-
 .../components/extension/templates/metadata/tag.svelte    | 2 +-
 .../components/extension/templates/metadata/tags.svelte   | 2 +-
 packages/ui/src/utils/form.ts                             | 2 +-
 13 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/packages/api/src/models/index.ts b/packages/api/src/models/index.ts
index 12fddbf..232f5ee 100644
--- a/packages/api/src/models/index.ts
+++ b/packages/api/src/models/index.ts
@@ -9,3 +9,6 @@ export * from "./manifest"
 export * from "./styles"
 export * from "./mdns"
 export { AllKunkunPermission, SystemPermissionSchema } from "../permissions"
+export { Markdown as MarkdownSchema } from "../ui/worker/schema/markdown"
+export * as ListSchema from "../ui/worker/schema/list"
+export * as FormSchema from "../ui/worker/schema/form"
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 2a6149b..1150566 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -34,6 +34,7 @@
 		"lint": "eslint ."
 	},
 	"devDependencies": {
+		"tauri-plugin-shellx-api": "^2.0.11",
 		"@iconify/svelte": "^4.0.2",
 		"@kksh/api": "workspace:*",
 		"@kksh/svelte5": "^0.1.2-beta.8",
diff --git a/packages/ui/src/components/extension/templates/MarkdownView.svelte b/packages/ui/src/components/extension/templates/MarkdownView.svelte
index 1b758a5..296b5d8 100644
--- a/packages/ui/src/components/extension/templates/MarkdownView.svelte
+++ b/packages/ui/src/components/extension/templates/MarkdownView.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-	import { MarkdownSchema } from "@kksh/api/ui/worker"
+	import { MarkdownSchema } from "@kksh/api/models"
 	import { Button } from "@kksh/svelte5"
 	import { ArrowLeftIcon } from "lucide-svelte"
 	import Markdown from "./Markdown.svelte"
diff --git a/packages/ui/src/components/extension/templates/form-view.svelte b/packages/ui/src/components/extension/templates/form-view.svelte
index 431d1b0..7a3c040 100644
--- a/packages/ui/src/components/extension/templates/form-view.svelte
+++ b/packages/ui/src/components/extension/templates/form-view.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-	import { FormNodeNameEnum, FormSchema } from "@kksh/api/ui/worker"
+	import { FormNodeNameEnum, FormSchema } from "@kksh/api/models"
 	import { Button } from "@kksh/svelte5"
 	import { ArrowLeftIcon } from "lucide-svelte"
 	import Form from "./form.svelte"
diff --git a/packages/ui/src/components/extension/templates/form.svelte b/packages/ui/src/components/extension/templates/form.svelte
index 7dbb913..a719736 100644
--- a/packages/ui/src/components/extension/templates/form.svelte
+++ b/packages/ui/src/components/extension/templates/form.svelte
@@ -1,6 +1,6 @@
 <script lang="ts">
 	import type { DateValue } from "@internationalized/date"
-	import { FormNodeNameEnum, FormSchema } from "@kksh/api/ui/worker"
+	import { FormNodeNameEnum, FormSchema } from "@kksh/api/models"
 	import { Button, Checkbox, Form, Input, Label, Select } from "@kksh/svelte5"
 	import { DatePickerWithPreset, Shiki } from "@kksh/ui"
 	import { buildFormSchema, cn } from "@kksh/ui/utils"
diff --git a/packages/ui/src/components/extension/templates/list-detail.svelte b/packages/ui/src/components/extension/templates/list-detail.svelte
index 11e3c89..f5c4be1 100644
--- a/packages/ui/src/components/extension/templates/list-detail.svelte
+++ b/packages/ui/src/components/extension/templates/list-detail.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-	import { ListSchema, MarkdownSchema, NodeNameEnum } from "@kksh/api/ui/worker"
+	import { ListSchema, MarkdownSchema, NodeNameEnum } from "@kksh/api/models"
 	import Markdown from "./Markdown.svelte"
 	import Metadata from "./metadata/Metadata.svelte"
 
diff --git a/packages/ui/src/components/extension/templates/list-item.svelte b/packages/ui/src/components/extension/templates/list-item.svelte
index 07e885f..5673785 100644
--- a/packages/ui/src/components/extension/templates/list-item.svelte
+++ b/packages/ui/src/components/extension/templates/list-item.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-	import { List, ListSchema, WorkerExtension } from "@kksh/api/ui/worker"
+	import { ListSchema } from "@kksh/api/models"
 	import { Command } from "@kksh/svelte5"
 	import { IconMultiplexer } from "../../common"
 
diff --git a/packages/ui/src/components/extension/templates/list-view.svelte b/packages/ui/src/components/extension/templates/list-view.svelte
index e6eee25..73e33df 100644
--- a/packages/ui/src/components/extension/templates/list-view.svelte
+++ b/packages/ui/src/components/extension/templates/list-view.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-	import { ListSchema } from "@kksh/api/ui/worker"
+	import { ListSchema } from "@kksh/api/models"
 	import { Button, Command, Progress, Resizable } from "@kksh/svelte5"
 	import { CustomCommandInput } from "@kksh/ui/main"
 	import { commandScore } from "@kksh/ui/utils"
diff --git a/packages/ui/src/components/extension/templates/metadata/Metadata.svelte b/packages/ui/src/components/extension/templates/metadata/Metadata.svelte
index aa59477..c977924 100644
--- a/packages/ui/src/components/extension/templates/metadata/Metadata.svelte
+++ b/packages/ui/src/components/extension/templates/metadata/Metadata.svelte
@@ -1,11 +1,5 @@
 <script lang="ts">
-	import {
-		List,
-		ListSchema,
-		MarkdownSchema,
-		NodeNameEnum,
-		WorkerExtension
-	} from "@kksh/api/ui/worker"
+	import { List, ListSchema, MarkdownSchema, NodeNameEnum } from "@kksh/api/models"
 	import { Separator } from "@kksh/svelte5"
 	import Label from "./label.svelte"
 	import Link from "./link.svelte"
diff --git a/packages/ui/src/components/extension/templates/metadata/label.svelte b/packages/ui/src/components/extension/templates/metadata/label.svelte
index e446d67..00b24e5 100644
--- a/packages/ui/src/components/extension/templates/metadata/label.svelte
+++ b/packages/ui/src/components/extension/templates/metadata/label.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-	import type { IconType, List, ListSchema } from "@kksh/api/ui/worker"
+	import type { IconType, List, ListSchema } from "@kksh/api/models"
 	import { IconMultiplexer } from "../../../common"
 
 	const {
diff --git a/packages/ui/src/components/extension/templates/metadata/tag.svelte b/packages/ui/src/components/extension/templates/metadata/tag.svelte
index 5dd1b9e..e64278c 100644
--- a/packages/ui/src/components/extension/templates/metadata/tag.svelte
+++ b/packages/ui/src/components/extension/templates/metadata/tag.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-	import type { Color, ListSchema } from "@kksh/api/ui/worker"
+	import type { Color, ListSchema } from "@kksh/api/models"
 	import { Badge } from "@kksh/svelte5"
 
 	const {
diff --git a/packages/ui/src/components/extension/templates/metadata/tags.svelte b/packages/ui/src/components/extension/templates/metadata/tags.svelte
index ff0a641..90fb16e 100644
--- a/packages/ui/src/components/extension/templates/metadata/tags.svelte
+++ b/packages/ui/src/components/extension/templates/metadata/tags.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-	import type { Color, ListSchema } from "@kksh/api/ui/worker"
+	import type { Color, ListSchema } from "@kksh/api/models"
 	import Tag from "./tag.svelte"
 
 	const {
diff --git a/packages/ui/src/utils/form.ts b/packages/ui/src/utils/form.ts
index 779d7d8..79031d6 100644
--- a/packages/ui/src/utils/form.ts
+++ b/packages/ui/src/utils/form.ts
@@ -1,4 +1,4 @@
-import { FormNodeNameEnum, type FormSchema } from "@kksh/api/ui/worker"
+import { FormNodeNameEnum, type FormSchema } from "@kksh/api/models"
 import type { BaseIssue, BaseSchema } from "valibot"
 import * as v from "valibot"