ikanban-web 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ghostty-web-BkTBr6Qp.js → ghostty-web-DC9h7yp6.js} +1 -1
- package/dist/assets/{home-CbMdbws_.js → home-B2bEEt-Q.js} +1 -1
- package/dist/assets/{index-DvCClLZk.js → index-BM0fG0_S.js} +1 -1
- package/dist/assets/{session-mSsgwdFK.js → session-CFBQK6ra.js} +3 -3
- package/dist/index.html +1 -1
- package/package.json +3 -3
- package/src/app.tsx +7 -7
- package/src/components/dialog-connect-provider.tsx +10 -10
- package/src/components/dialog-custom-provider.tsx +7 -7
- package/src/components/dialog-edit-project.tsx +7 -7
- package/src/components/dialog-fork.tsx +5 -5
- package/src/components/dialog-manage-models.tsx +6 -6
- package/src/components/dialog-release-notes.tsx +3 -3
- package/src/components/dialog-select-directory.tsx +6 -6
- package/src/components/dialog-select-file.tsx +8 -8
- package/src/components/dialog-select-mcp.tsx +3 -3
- package/src/components/dialog-select-model-unpaid.tsx +7 -7
- package/src/components/dialog-select-model.tsx +7 -7
- package/src/components/dialog-select-provider.tsx +5 -5
- package/src/components/dialog-select-server.tsx +9 -9
- package/src/components/dialog-settings.tsx +3 -3
- package/src/components/file-tree.test.ts +4 -4
- package/src/components/file-tree.tsx +3 -3
- package/src/components/prompt-input/attachments.ts +1 -1
- package/src/components/prompt-input/build-request-parts.ts +1 -1
- package/src/components/prompt-input/context-items.tsx +4 -4
- package/src/components/prompt-input/drag-overlay.tsx +1 -1
- package/src/components/prompt-input/image-attachments.tsx +1 -1
- package/src/components/prompt-input/slash-popover.tsx +3 -3
- package/src/components/prompt-input/submit.test.ts +2 -2
- package/src/components/prompt-input/submit.ts +2 -2
- package/src/components/prompt-input.tsx +12 -12
- package/src/components/server/server-row.tsx +1 -1
- package/src/components/session/session-context-tab.tsx +8 -8
- package/src/components/session/session-header.tsx +12 -12
- package/src/components/session/session-new-view.tsx +2 -2
- package/src/components/session/session-sortable-tab.tsx +5 -5
- package/src/components/session/session-sortable-terminal-tab.tsx +4 -4
- package/src/components/session-context-usage.tsx +3 -3
- package/src/components/settings-general.tsx +7 -7
- package/src/components/settings-keybinds.tsx +5 -5
- package/src/components/settings-models.tsx +6 -6
- package/src/components/settings-permissions.tsx +2 -2
- package/src/components/settings-providers.tsx +5 -5
- package/src/components/status-popover.tsx +7 -7
- package/src/components/terminal.tsx +2 -2
- package/src/components/titlebar.tsx +5 -5
- package/src/context/command.tsx +2 -2
- package/src/context/comments.test.ts +1 -1
- package/src/context/comments.tsx +1 -1
- package/src/context/file.tsx +3 -3
- package/src/context/global-sdk.tsx +1 -1
- package/src/context/global-sync/bootstrap.ts +3 -3
- package/src/context/global-sync/event-reducer.ts +1 -1
- package/src/context/global-sync.tsx +2 -2
- package/src/context/highlights.tsx +2 -2
- package/src/context/language.tsx +18 -18
- package/src/context/layout.tsx +1 -1
- package/src/context/local.tsx +2 -2
- package/src/context/models.tsx +1 -1
- package/src/context/notification.tsx +3 -3
- package/src/context/permission-auto-respond.test.ts +1 -1
- package/src/context/permission-auto-respond.ts +1 -1
- package/src/context/permission.tsx +1 -1
- package/src/context/platform.tsx +1 -1
- package/src/context/prompt.tsx +2 -2
- package/src/context/sdk.tsx +1 -1
- package/src/context/server.tsx +1 -1
- package/src/context/settings.tsx +1 -1
- package/src/context/sync.tsx +3 -3
- package/src/context/terminal.test.ts +1 -1
- package/src/context/terminal.tsx +1 -1
- package/src/entry.tsx +1 -1
- package/src/index.css +1 -1
- package/src/pages/directory-layout.tsx +2 -2
- package/src/pages/error.tsx +4 -4
- package/src/pages/home.tsx +5 -5
- package/src/pages/layout/helpers.ts +1 -1
- package/src/pages/layout/inline-editor.tsx +1 -1
- package/src/pages/layout/sidebar-items.tsx +10 -10
- package/src/pages/layout/sidebar-project.tsx +7 -7
- package/src/pages/layout/sidebar-shell.tsx +2 -2
- package/src/pages/layout/sidebar-workspace.tsx +9 -9
- package/src/pages/layout.tsx +14 -14
- package/src/pages/session/composer/session-composer-region.tsx +1 -1
- package/src/pages/session/composer/session-composer-state.ts +1 -1
- package/src/pages/session/composer/session-permission-dock.tsx +3 -3
- package/src/pages/session/composer/session-question-dock.tsx +4 -4
- package/src/pages/session/composer/session-todo-dock.tsx +7 -7
- package/src/pages/session/file-tabs.tsx +10 -10
- package/src/pages/session/message-timeline.tsx +13 -13
- package/src/pages/session/review-tab.tsx +2 -2
- package/src/pages/session/session-mobile-tabs.tsx +1 -1
- package/src/pages/session/session-side-panel.tsx +6 -6
- package/src/pages/session/terminal-panel.tsx +4 -4
- package/src/pages/session/use-session-commands.tsx +3 -3
- package/src/pages/session.tsx +6 -6
- package/src/utils/base64.ts +1 -1
- package/src/utils/persist.ts +1 -1
- package/src/utils/sound.ts +45 -45
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Match, Show, Switch, createMemo } from "solid-js"
|
|
2
|
-
import { Tooltip, type TooltipProps } from "
|
|
3
|
-
import { ProgressCircle } from "
|
|
4
|
-
import { Button } from "
|
|
2
|
+
import { Tooltip, type TooltipProps } from "ikanban-ui/tooltip"
|
|
3
|
+
import { ProgressCircle } from "ikanban-ui/progress-circle"
|
|
4
|
+
import { Button } from "ikanban-ui/button"
|
|
5
5
|
import { useParams } from "@solidjs/router"
|
|
6
6
|
|
|
7
7
|
import { useLayout } from "@/context/layout"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Component, Show, createMemo, createResource, type JSX } from "solid-js"
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
|
-
import { Button } from "
|
|
4
|
-
import { Icon } from "
|
|
5
|
-
import { Select } from "
|
|
6
|
-
import { Switch } from "
|
|
7
|
-
import { Tooltip } from "
|
|
8
|
-
import { useTheme, type ColorScheme } from "
|
|
9
|
-
import { showToast } from "
|
|
3
|
+
import { Button } from "ikanban-ui/button"
|
|
4
|
+
import { Icon } from "ikanban-ui/icon"
|
|
5
|
+
import { Select } from "ikanban-ui/select"
|
|
6
|
+
import { Switch } from "ikanban-ui/switch"
|
|
7
|
+
import { Tooltip } from "ikanban-ui/tooltip"
|
|
8
|
+
import { useTheme, type ColorScheme } from "ikanban-ui/theme"
|
|
9
|
+
import { showToast } from "ikanban-ui/toast"
|
|
10
10
|
import { useLanguage } from "@/context/language"
|
|
11
11
|
import { usePlatform } from "@/context/platform"
|
|
12
12
|
import { useSettings, monoFontFamily } from "@/context/settings"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component, For, Show, createMemo, onCleanup, onMount } from "solid-js"
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
|
-
import { Button } from "
|
|
4
|
-
import { Icon } from "
|
|
5
|
-
import { IconButton } from "
|
|
6
|
-
import { TextField } from "
|
|
7
|
-
import { showToast } from "
|
|
3
|
+
import { Button } from "ikanban-ui/button"
|
|
4
|
+
import { Icon } from "ikanban-ui/icon"
|
|
5
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
6
|
+
import { TextField } from "ikanban-ui/text-field"
|
|
7
|
+
import { showToast } from "ikanban-ui/toast"
|
|
8
8
|
import fuzzysort from "fuzzysort"
|
|
9
9
|
import { formatKeybind, parseKeybind, useCommand } from "@/context/command"
|
|
10
10
|
import { useLanguage } from "@/context/language"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useFilteredList } from "
|
|
2
|
-
import { ProviderIcon } from "
|
|
3
|
-
import { Switch } from "
|
|
4
|
-
import { Icon } from "
|
|
5
|
-
import { IconButton } from "
|
|
6
|
-
import { TextField } from "
|
|
1
|
+
import { useFilteredList } from "ikanban-ui/hooks"
|
|
2
|
+
import { ProviderIcon } from "ikanban-ui/provider-icon"
|
|
3
|
+
import { Switch } from "ikanban-ui/switch"
|
|
4
|
+
import { Icon } from "ikanban-ui/icon"
|
|
5
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
6
|
+
import { TextField } from "ikanban-ui/text-field"
|
|
7
7
|
import { type Component, For, Show } from "solid-js"
|
|
8
8
|
import { useLanguage } from "@/context/language"
|
|
9
9
|
import { useModels } from "@/context/models"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Select } from "
|
|
2
|
-
import { showToast } from "
|
|
1
|
+
import { Select } from "ikanban-ui/select"
|
|
2
|
+
import { showToast } from "ikanban-ui/toast"
|
|
3
3
|
import { Component, For, createMemo, type JSX } from "solid-js"
|
|
4
4
|
import { useGlobalSync } from "@/context/global-sync"
|
|
5
5
|
import { useLanguage } from "@/context/language"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Button } from "
|
|
2
|
-
import { useDialog } from "
|
|
3
|
-
import { ProviderIcon } from "
|
|
4
|
-
import { Tag } from "
|
|
5
|
-
import { showToast } from "
|
|
1
|
+
import { Button } from "ikanban-ui/button"
|
|
2
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
3
|
+
import { ProviderIcon } from "ikanban-ui/provider-icon"
|
|
4
|
+
import { Tag } from "ikanban-ui/tag"
|
|
5
|
+
import { showToast } from "ikanban-ui/toast"
|
|
6
6
|
import { popularProviders, useProviders } from "@/hooks/use-providers"
|
|
7
7
|
import { createMemo, type Component, For, Show } from "solid-js"
|
|
8
8
|
import { useLanguage } from "@/context/language"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Button } from "
|
|
2
|
-
import { useDialog } from "
|
|
3
|
-
import { Icon } from "
|
|
4
|
-
import { Popover } from "
|
|
5
|
-
import { Switch } from "
|
|
6
|
-
import { Tabs } from "
|
|
7
|
-
import { showToast } from "
|
|
1
|
+
import { Button } from "ikanban-ui/button"
|
|
2
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
3
|
+
import { Icon } from "ikanban-ui/icon"
|
|
4
|
+
import { Popover } from "ikanban-ui/popover"
|
|
5
|
+
import { Switch } from "ikanban-ui/switch"
|
|
6
|
+
import { Tabs } from "ikanban-ui/tabs"
|
|
7
|
+
import { showToast } from "ikanban-ui/toast"
|
|
8
8
|
import { useNavigate } from "@solidjs/router"
|
|
9
9
|
import { type Accessor, createEffect, createMemo, createSignal, For, type JSXElement, onCleanup, Show } from "solid-js"
|
|
10
10
|
import { createStore, reconcile } from "solid-js/store"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type HexColor, resolveThemeVariant, useTheme, withAlpha } from "
|
|
2
|
-
import { showToast } from "
|
|
1
|
+
import { type HexColor, resolveThemeVariant, useTheme, withAlpha } from "ikanban-ui/theme"
|
|
2
|
+
import { showToast } from "ikanban-ui/toast"
|
|
3
3
|
import type { FitAddon, Ghostty, Terminal as Term } from "ghostty-web"
|
|
4
4
|
import { type ComponentProps, createEffect, createMemo, onCleanup, onMount, splitProps } from "solid-js"
|
|
5
5
|
import { SerializeAddon } from "@/addons/serialize"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createEffect, createMemo, Show, untrack } from "solid-js"
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
3
|
import { useLocation, useNavigate, useParams } from "@solidjs/router"
|
|
4
|
-
import { IconButton } from "
|
|
5
|
-
import { Icon } from "
|
|
6
|
-
import { Button } from "
|
|
7
|
-
import { Tooltip, TooltipKeybind } from "
|
|
8
|
-
import { useTheme } from "
|
|
4
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
5
|
+
import { Icon } from "ikanban-ui/icon"
|
|
6
|
+
import { Button } from "ikanban-ui/button"
|
|
7
|
+
import { Tooltip, TooltipKeybind } from "ikanban-ui/tooltip"
|
|
8
|
+
import { useTheme } from "ikanban-ui/theme"
|
|
9
9
|
|
|
10
10
|
import { useLayout } from "@/context/layout"
|
|
11
11
|
import { usePlatform } from "@/context/platform"
|
package/src/context/command.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createEffect, createMemo, onCleanup, onMount, type Accessor } from "solid-js"
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
|
-
import { createSimpleContext } from "
|
|
4
|
-
import { useDialog } from "
|
|
3
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
4
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
5
5
|
import { useLanguage } from "@/context/language"
|
|
6
6
|
import { useSettings } from "@/context/settings"
|
|
7
7
|
import { Persist, persisted } from "@/utils/persist"
|
|
@@ -9,7 +9,7 @@ beforeAll(async () => {
|
|
|
9
9
|
useNavigate: () => () => undefined,
|
|
10
10
|
useParams: () => ({}),
|
|
11
11
|
}))
|
|
12
|
-
mock.module("
|
|
12
|
+
mock.module("ikanban-ui/context", () => ({
|
|
13
13
|
createSimpleContext: () => ({
|
|
14
14
|
use: () => undefined,
|
|
15
15
|
provider: () => undefined,
|
package/src/context/comments.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { batch, createMemo, createRoot, onCleanup } from "solid-js"
|
|
2
2
|
import { createStore, reconcile, type SetStoreFunction, type Store } from "solid-js/store"
|
|
3
|
-
import { createSimpleContext } from "
|
|
3
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
4
4
|
import { useParams } from "@solidjs/router"
|
|
5
5
|
import { Persist, persisted } from "@/utils/persist"
|
|
6
6
|
import { createScopedCache } from "@/utils/scoped-cache"
|
package/src/context/file.tsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { batch, createEffect, createMemo, onCleanup } from "solid-js"
|
|
2
2
|
import { createStore, produce, reconcile } from "solid-js/store"
|
|
3
|
-
import { createSimpleContext } from "
|
|
4
|
-
import { showToast } from "
|
|
3
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
4
|
+
import { showToast } from "ikanban-ui/toast"
|
|
5
5
|
import { useParams } from "@solidjs/router"
|
|
6
|
-
import { getFilename } from "
|
|
6
|
+
import { getFilename } from "ikanban-utils/path"
|
|
7
7
|
import { useSDK } from "./sdk"
|
|
8
8
|
import { useSync } from "./sync"
|
|
9
9
|
import { useLanguage } from "@/context/language"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Event } from "@opencode-ai/sdk/v2/client"
|
|
2
|
-
import { createSimpleContext } from "
|
|
2
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
3
3
|
import { createGlobalEmitter } from "@solid-primitives/event-bus"
|
|
4
4
|
import { batch, onCleanup } from "solid-js"
|
|
5
5
|
import z from "zod"
|
|
@@ -9,9 +9,9 @@ import type {
|
|
|
9
9
|
QuestionRequest,
|
|
10
10
|
Todo,
|
|
11
11
|
} from "@opencode-ai/sdk/v2/client"
|
|
12
|
-
import { showToast } from "
|
|
13
|
-
import { getFilename } from "
|
|
14
|
-
import { retry } from "
|
|
12
|
+
import { showToast } from "ikanban-ui/toast"
|
|
13
|
+
import { getFilename } from "ikanban-utils/path"
|
|
14
|
+
import { retry } from "ikanban-utils/retry"
|
|
15
15
|
import { batch } from "solid-js"
|
|
16
16
|
import { reconcile, type SetStoreFunction, type Store } from "solid-js/store"
|
|
17
17
|
import type { State, VcsCache } from "./types"
|
|
@@ -7,8 +7,8 @@ import type {
|
|
|
7
7
|
ProviderListResponse,
|
|
8
8
|
Todo,
|
|
9
9
|
} from "@opencode-ai/sdk/v2/client"
|
|
10
|
-
import { showToast } from "
|
|
11
|
-
import { getFilename } from "
|
|
10
|
+
import { showToast } from "ikanban-ui/toast"
|
|
11
|
+
import { getFilename } from "ikanban-utils/path"
|
|
12
12
|
import {
|
|
13
13
|
createContext,
|
|
14
14
|
getOwner,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createEffect, createSignal, onCleanup } from "solid-js"
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
|
-
import { createSimpleContext } from "
|
|
4
|
-
import { useDialog } from "
|
|
3
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
4
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
5
5
|
import { usePlatform } from "@/context/platform"
|
|
6
6
|
import { useSettings } from "@/context/settings"
|
|
7
7
|
import { persisted } from "@/utils/persist"
|
package/src/context/language.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i18n from "@solid-primitives/i18n"
|
|
2
2
|
import { createEffect, createMemo } from "solid-js"
|
|
3
3
|
import { createStore } from "solid-js/store"
|
|
4
|
-
import { createSimpleContext } from "
|
|
4
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
5
5
|
import { Persist, persisted } from "@/utils/persist"
|
|
6
6
|
import { dict as en } from "@/i18n/en"
|
|
7
7
|
import { dict as zh } from "@/i18n/zh"
|
|
@@ -20,23 +20,23 @@ import { dict as br } from "@/i18n/br"
|
|
|
20
20
|
import { dict as th } from "@/i18n/th"
|
|
21
21
|
import { dict as bs } from "@/i18n/bs"
|
|
22
22
|
import { dict as tr } from "@/i18n/tr"
|
|
23
|
-
import { dict as uiEn } from "
|
|
24
|
-
import { dict as uiZh } from "
|
|
25
|
-
import { dict as uiZht } from "
|
|
26
|
-
import { dict as uiKo } from "
|
|
27
|
-
import { dict as uiDe } from "
|
|
28
|
-
import { dict as uiEs } from "
|
|
29
|
-
import { dict as uiFr } from "
|
|
30
|
-
import { dict as uiDa } from "
|
|
31
|
-
import { dict as uiJa } from "
|
|
32
|
-
import { dict as uiPl } from "
|
|
33
|
-
import { dict as uiRu } from "
|
|
34
|
-
import { dict as uiAr } from "
|
|
35
|
-
import { dict as uiNo } from "
|
|
36
|
-
import { dict as uiBr } from "
|
|
37
|
-
import { dict as uiTh } from "
|
|
38
|
-
import { dict as uiBs } from "
|
|
39
|
-
import { dict as uiTr } from "
|
|
23
|
+
import { dict as uiEn } from "ikanban-ui/i18n/en"
|
|
24
|
+
import { dict as uiZh } from "ikanban-ui/i18n/zh"
|
|
25
|
+
import { dict as uiZht } from "ikanban-ui/i18n/zht"
|
|
26
|
+
import { dict as uiKo } from "ikanban-ui/i18n/ko"
|
|
27
|
+
import { dict as uiDe } from "ikanban-ui/i18n/de"
|
|
28
|
+
import { dict as uiEs } from "ikanban-ui/i18n/es"
|
|
29
|
+
import { dict as uiFr } from "ikanban-ui/i18n/fr"
|
|
30
|
+
import { dict as uiDa } from "ikanban-ui/i18n/da"
|
|
31
|
+
import { dict as uiJa } from "ikanban-ui/i18n/ja"
|
|
32
|
+
import { dict as uiPl } from "ikanban-ui/i18n/pl"
|
|
33
|
+
import { dict as uiRu } from "ikanban-ui/i18n/ru"
|
|
34
|
+
import { dict as uiAr } from "ikanban-ui/i18n/ar"
|
|
35
|
+
import { dict as uiNo } from "ikanban-ui/i18n/no"
|
|
36
|
+
import { dict as uiBr } from "ikanban-ui/i18n/br"
|
|
37
|
+
import { dict as uiTh } from "ikanban-ui/i18n/th"
|
|
38
|
+
import { dict as uiBs } from "ikanban-ui/i18n/bs"
|
|
39
|
+
import { dict as uiTr } from "ikanban-ui/i18n/tr"
|
|
40
40
|
|
|
41
41
|
export type Locale =
|
|
42
42
|
| "en"
|
package/src/context/layout.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createStore, produce } from "solid-js/store"
|
|
2
2
|
import { batch, createEffect, createMemo, onCleanup, onMount, type Accessor } from "solid-js"
|
|
3
|
-
import { createSimpleContext } from "
|
|
3
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
4
4
|
import { useGlobalSync } from "./global-sync"
|
|
5
5
|
import { useGlobalSDK } from "./global-sdk"
|
|
6
6
|
import { useServer } from "./server"
|
package/src/context/local.tsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createStore } from "solid-js/store"
|
|
2
2
|
import { batch, createMemo } from "solid-js"
|
|
3
|
-
import { createSimpleContext } from "
|
|
3
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
4
4
|
import { useSDK } from "./sdk"
|
|
5
5
|
import { useSync } from "./sync"
|
|
6
|
-
import { base64Encode } from "
|
|
6
|
+
import { base64Encode } from "ikanban-utils/encode"
|
|
7
7
|
import { useProviders } from "@/hooks/use-providers"
|
|
8
8
|
import { useModels } from "@/context/models"
|
|
9
9
|
import { cycleModelVariant, getConfiguredAgentVariant, resolveModelVariant } from "./model-variant"
|
package/src/context/models.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import { createMemo } from "solid-js"
|
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
3
|
import { DateTime } from "luxon"
|
|
4
4
|
import { filter, firstBy, flat, groupBy, mapValues, pipe, uniqueBy, values } from "remeda"
|
|
5
|
-
import { createSimpleContext } from "
|
|
5
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
6
6
|
import { useProviders } from "@/hooks/use-providers"
|
|
7
7
|
import { Persist, persisted } from "@/utils/persist"
|
|
8
8
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { createStore, reconcile } from "solid-js/store"
|
|
2
2
|
import { batch, createEffect, createMemo, onCleanup } from "solid-js"
|
|
3
3
|
import { useParams } from "@solidjs/router"
|
|
4
|
-
import { createSimpleContext } from "
|
|
4
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
5
5
|
import { useGlobalSDK } from "./global-sdk"
|
|
6
6
|
import { useGlobalSync } from "./global-sync"
|
|
7
7
|
import { usePlatform } from "@/context/platform"
|
|
8
8
|
import { useLanguage } from "@/context/language"
|
|
9
9
|
import { useSettings } from "@/context/settings"
|
|
10
|
-
import { Binary } from "
|
|
11
|
-
import { base64Encode } from "
|
|
10
|
+
import { Binary } from "ikanban-utils/binary"
|
|
11
|
+
import { base64Encode } from "ikanban-utils/encode"
|
|
12
12
|
import { decode64 } from "@/utils/base64"
|
|
13
13
|
import { EventSessionError } from "@opencode-ai/sdk/v2"
|
|
14
14
|
import { Persist, persisted } from "@/utils/persist"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, test } from "bun:test"
|
|
2
2
|
import type { PermissionRequest, Session } from "@opencode-ai/sdk/v2/client"
|
|
3
|
-
import { base64Encode } from "
|
|
3
|
+
import { base64Encode } from "ikanban-utils/encode"
|
|
4
4
|
import { autoRespondsPermission } from "./permission-auto-respond"
|
|
5
5
|
|
|
6
6
|
const session = (input: { id: string; parentID?: string }) =>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createMemo, onCleanup } from "solid-js"
|
|
2
2
|
import { createStore, produce } from "solid-js/store"
|
|
3
|
-
import { createSimpleContext } from "
|
|
3
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
4
4
|
import type { PermissionRequest } from "@opencode-ai/sdk/v2/client"
|
|
5
5
|
import { Persist, persisted } from "@/utils/persist"
|
|
6
6
|
import { useGlobalSDK } from "@/context/global-sdk"
|
package/src/context/platform.tsx
CHANGED
package/src/context/prompt.tsx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createStore, type SetStoreFunction } from "solid-js/store"
|
|
2
|
-
import { createSimpleContext } from "
|
|
2
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
3
3
|
import { batch, createMemo, createRoot, onCleanup } from "solid-js"
|
|
4
4
|
import { useParams } from "@solidjs/router"
|
|
5
5
|
import type { FileSelection } from "@/context/file"
|
|
6
6
|
import { Persist, persisted } from "@/utils/persist"
|
|
7
|
-
import { checksum } from "
|
|
7
|
+
import { checksum } from "ikanban-utils/encode"
|
|
8
8
|
|
|
9
9
|
interface PartBase {
|
|
10
10
|
content: string
|
package/src/context/sdk.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Event } from "@opencode-ai/sdk/v2/client"
|
|
2
|
-
import { createSimpleContext } from "
|
|
2
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
3
3
|
import { createGlobalEmitter } from "@solid-primitives/event-bus"
|
|
4
4
|
import { type Accessor, createEffect, createMemo, onCleanup } from "solid-js"
|
|
5
5
|
import { useGlobalSDK } from "./global-sdk"
|
package/src/context/server.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSimpleContext } from "
|
|
1
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
2
2
|
import { type Accessor, batch, createEffect, createMemo, onCleanup } from "solid-js"
|
|
3
3
|
import { createStore } from "solid-js/store"
|
|
4
4
|
import { usePlatform } from "@/context/platform"
|
package/src/context/settings.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createStore, reconcile } from "solid-js/store"
|
|
2
2
|
import { createEffect, createMemo } from "solid-js"
|
|
3
|
-
import { createSimpleContext } from "
|
|
3
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
4
4
|
import { persisted } from "@/utils/persist"
|
|
5
5
|
|
|
6
6
|
export interface NotificationSettings {
|
package/src/context/sync.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { batch, createMemo } from "solid-js"
|
|
2
2
|
import { createStore, produce, reconcile } from "solid-js/store"
|
|
3
|
-
import { Binary } from "
|
|
4
|
-
import { retry } from "
|
|
5
|
-
import { createSimpleContext } from "
|
|
3
|
+
import { Binary } from "ikanban-utils/binary"
|
|
4
|
+
import { retry } from "ikanban-utils/retry"
|
|
5
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
6
6
|
import { useGlobalSync } from "./global-sync"
|
|
7
7
|
import { useSDK } from "./sdk"
|
|
8
8
|
import type { Message, Part } from "@opencode-ai/sdk/v2/client"
|
|
@@ -8,7 +8,7 @@ beforeAll(async () => {
|
|
|
8
8
|
useNavigate: () => () => undefined,
|
|
9
9
|
useParams: () => ({}),
|
|
10
10
|
}))
|
|
11
|
-
mock.module("
|
|
11
|
+
mock.module("ikanban-ui/context", () => ({
|
|
12
12
|
createSimpleContext: () => ({
|
|
13
13
|
use: () => undefined,
|
|
14
14
|
provider: () => undefined,
|
package/src/context/terminal.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createStore, produce } from "solid-js/store"
|
|
2
|
-
import { createSimpleContext } from "
|
|
2
|
+
import { createSimpleContext } from "ikanban-ui/context"
|
|
3
3
|
import { batch, createEffect, createMemo, createRoot, onCleanup } from "solid-js"
|
|
4
4
|
import { useParams } from "@solidjs/router"
|
|
5
5
|
import { useSDK } from "./sdk"
|
package/src/entry.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @refresh reload
|
|
2
2
|
|
|
3
|
-
import { iife } from "
|
|
3
|
+
import { iife } from "ikanban-utils/iife"
|
|
4
4
|
import { render } from "solid-js/web"
|
|
5
5
|
import { AppBaseProviders, AppInterface } from "@/app"
|
|
6
6
|
import { type Platform, PlatformProvider } from "@/context/platform"
|
package/src/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import "
|
|
1
|
+
@import "ikanban-ui/styles/tailwind";
|
|
@@ -5,9 +5,9 @@ import { SDKProvider } from "@/context/sdk"
|
|
|
5
5
|
import { SyncProvider, useSync } from "@/context/sync"
|
|
6
6
|
import { LocalProvider } from "@/context/local"
|
|
7
7
|
|
|
8
|
-
import { DataProvider } from "
|
|
8
|
+
import { DataProvider } from "ikanban-ui/context"
|
|
9
9
|
import { decode64 } from "@/utils/base64"
|
|
10
|
-
import { showToast } from "
|
|
10
|
+
import { showToast } from "ikanban-ui/toast"
|
|
11
11
|
import { useLanguage } from "@/context/language"
|
|
12
12
|
|
|
13
13
|
function DirectoryDataProvider(props: ParentProps<{ directory: string }>) {
|
package/src/pages/error.tsx
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { TextField } from "
|
|
2
|
-
import { Logo } from "
|
|
3
|
-
import { Button } from "
|
|
1
|
+
import { TextField } from "ikanban-ui/text-field"
|
|
2
|
+
import { Logo } from "ikanban-ui/logo"
|
|
3
|
+
import { Button } from "ikanban-ui/button"
|
|
4
4
|
import { Component, Show } from "solid-js"
|
|
5
5
|
import { createStore } from "solid-js/store"
|
|
6
6
|
import { usePlatform } from "@/context/platform"
|
|
7
7
|
import { useLanguage } from "@/context/language"
|
|
8
|
-
import { Icon } from "
|
|
8
|
+
import { Icon } from "ikanban-ui/icon"
|
|
9
9
|
|
|
10
10
|
export type InitError = {
|
|
11
11
|
name: string
|
package/src/pages/home.tsx
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { createMemo, For, Match, Switch } from "solid-js"
|
|
2
|
-
import { Button } from "
|
|
3
|
-
import { Logo } from "
|
|
2
|
+
import { Button } from "ikanban-ui/button"
|
|
3
|
+
import { Logo } from "ikanban-ui/logo"
|
|
4
4
|
import { useLayout } from "@/context/layout"
|
|
5
5
|
import { useNavigate } from "@solidjs/router"
|
|
6
|
-
import { base64Encode } from "
|
|
7
|
-
import { Icon } from "
|
|
6
|
+
import { base64Encode } from "ikanban-utils/encode"
|
|
7
|
+
import { Icon } from "ikanban-ui/icon"
|
|
8
8
|
import { usePlatform } from "@/context/platform"
|
|
9
9
|
import { DateTime } from "luxon"
|
|
10
|
-
import { useDialog } from "
|
|
10
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
11
11
|
import { DialogSelectDirectory } from "@/components/dialog-select-directory"
|
|
12
12
|
import { DialogSelectServer } from "@/components/dialog-select-server"
|
|
13
13
|
import { useServer } from "@/context/server"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createStore } from "solid-js/store"
|
|
2
2
|
import { onCleanup, Show, type Accessor } from "solid-js"
|
|
3
|
-
import { InlineInput } from "
|
|
3
|
+
import { InlineInput } from "ikanban-ui/inline-input"
|
|
4
4
|
|
|
5
5
|
export function createInlineEditorController() {
|
|
6
6
|
// This controller intentionally supports one active inline editor at a time.
|
|
@@ -4,16 +4,16 @@ import { useLanguage } from "@/context/language"
|
|
|
4
4
|
import { useLayout, type LocalProject, getAvatarColors } from "@/context/layout"
|
|
5
5
|
import { useNotification } from "@/context/notification"
|
|
6
6
|
import { usePermission } from "@/context/permission"
|
|
7
|
-
import { base64Encode } from "
|
|
8
|
-
import { Avatar } from "
|
|
9
|
-
import { DiffChanges } from "
|
|
10
|
-
import { HoverCard } from "
|
|
11
|
-
import { Icon } from "
|
|
12
|
-
import { IconButton } from "
|
|
13
|
-
import { MessageNav } from "
|
|
14
|
-
import { Spinner } from "
|
|
15
|
-
import { Tooltip } from "
|
|
16
|
-
import { getFilename } from "
|
|
7
|
+
import { base64Encode } from "ikanban-utils/encode"
|
|
8
|
+
import { Avatar } from "ikanban-ui/avatar"
|
|
9
|
+
import { DiffChanges } from "ikanban-ui/diff-changes"
|
|
10
|
+
import { HoverCard } from "ikanban-ui/hover-card"
|
|
11
|
+
import { Icon } from "ikanban-ui/icon"
|
|
12
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
13
|
+
import { MessageNav } from "ikanban-ui/message-nav"
|
|
14
|
+
import { Spinner } from "ikanban-ui/spinner"
|
|
15
|
+
import { Tooltip } from "ikanban-ui/tooltip"
|
|
16
|
+
import { getFilename } from "ikanban-utils/path"
|
|
17
17
|
import { type Message, type Session, type TextPart, type UserMessage } from "@opencode-ai/sdk/v2/client"
|
|
18
18
|
import { For, Match, Show, Switch, createMemo, onCleanup, type Accessor, type JSX } from "solid-js"
|
|
19
19
|
import { agentColor } from "@/utils/agent"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createEffect, createMemo, For, Show, type Accessor, type JSX } from "solid-js"
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
|
-
import { base64Encode } from "
|
|
4
|
-
import { Button } from "
|
|
5
|
-
import { ContextMenu } from "
|
|
6
|
-
import { HoverCard } from "
|
|
7
|
-
import { Icon } from "
|
|
8
|
-
import { IconButton } from "
|
|
9
|
-
import { Tooltip } from "
|
|
3
|
+
import { base64Encode } from "ikanban-utils/encode"
|
|
4
|
+
import { Button } from "ikanban-ui/button"
|
|
5
|
+
import { ContextMenu } from "ikanban-ui/context-menu"
|
|
6
|
+
import { HoverCard } from "ikanban-ui/hover-card"
|
|
7
|
+
import { Icon } from "ikanban-ui/icon"
|
|
8
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
9
|
+
import { Tooltip } from "ikanban-ui/tooltip"
|
|
10
10
|
import { createSortable } from "@thisbeyond/solid-dnd"
|
|
11
11
|
import { useLayout, type LocalProject } from "@/context/layout"
|
|
12
12
|
import { useGlobalSync } from "@/context/global-sync"
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
type DragEvent,
|
|
9
9
|
} from "@thisbeyond/solid-dnd"
|
|
10
10
|
import { ConstrainDragXAxis } from "@/utils/solid-dnd"
|
|
11
|
-
import { IconButton } from "
|
|
12
|
-
import { Tooltip, TooltipKeybind } from "
|
|
11
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
12
|
+
import { Tooltip, TooltipKeybind } from "ikanban-ui/tooltip"
|
|
13
13
|
import { type LocalProject } from "@/context/layout"
|
|
14
14
|
import { sidebarExpanded } from "./sidebar-shell-helpers"
|
|
15
15
|
|