@vite-plugin-opencode-assistant/components 1.0.7 → 1.0.9
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/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/open-code-widget/composables/use-session.js +1 -0
- package/es/open-code-widget/src/components/SessionList.vue.js +4 -3
- package/es/open-code-widget/src/context.d.ts +1 -0
- package/es/open-code-widget/src/index.vue.d.ts +2 -1
- package/es/open-code-widget/src/index.vue.js +2 -0
- package/es/open-code-widget/src/types.d.ts +3 -0
- package/lib/@vite-plugin-opencode-assistant/components.cjs.js +11 -3
- package/lib/@vite-plugin-opencode-assistant/components.es.js +11 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/open-code-widget/composables/use-session.js +1 -0
- package/lib/open-code-widget/src/components/SessionList.vue.js +4 -3
- package/lib/open-code-widget/src/context.d.ts +1 -0
- package/lib/open-code-widget/src/index.vue.d.ts +2 -1
- package/lib/open-code-widget/src/index.vue.js +2 -0
- package/lib/open-code-widget/src/types.d.ts +3 -0
- package/lib/web-types.json +1 -1
- package/package.json +1 -1
package/es/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import OpenCodeWidget from './open-code-widget';
|
|
2
2
|
import type { App } from 'vue';
|
|
3
|
-
declare const version = "1.0.
|
|
3
|
+
declare const version = "1.0.9";
|
|
4
4
|
declare function install(app: App<any>, options?: any): void;
|
|
5
5
|
export { install, version, OpenCodeWidget };
|
|
6
6
|
export default install;
|
package/es/index.js
CHANGED
|
@@ -36,6 +36,7 @@ function useSession(options) {
|
|
|
36
36
|
const sessionItems = computed(
|
|
37
37
|
() => (options.sessions.value || []).map((session) => ({
|
|
38
38
|
key: session.id,
|
|
39
|
+
id: session.id,
|
|
39
40
|
title: session.title || "\u65B0\u4F1A\u8BDD",
|
|
40
41
|
meta: formatSessionMeta(session),
|
|
41
42
|
active: session.id === options.currentSessionId.value,
|
|
@@ -12,7 +12,8 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent({
|
|
|
12
12
|
loadingSessionList,
|
|
13
13
|
handleCreateSession,
|
|
14
14
|
handleSelectSession,
|
|
15
|
-
handleDeleteSession
|
|
15
|
+
handleDeleteSession,
|
|
16
|
+
sessionKey
|
|
16
17
|
} = useOpenCodeWidgetContext();
|
|
17
18
|
const isAnimating = ref(false);
|
|
18
19
|
let animTimer = null;
|
|
@@ -27,7 +28,7 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent({
|
|
|
27
28
|
if (isAnimating.value) return true;
|
|
28
29
|
return false;
|
|
29
30
|
});
|
|
30
|
-
const __returned__ = { collapsed, sessions, loadingSessionList, handleCreateSession, handleSelectSession, handleDeleteSession, isAnimating, get animTimer() {
|
|
31
|
+
const __returned__ = { collapsed, sessions, loadingSessionList, handleCreateSession, handleSelectSession, handleDeleteSession, sessionKey, isAnimating, get animTimer() {
|
|
31
32
|
return animTimer;
|
|
32
33
|
}, set animTimer(v) {
|
|
33
34
|
animTimer = v;
|
|
@@ -150,7 +151,7 @@ function __vue_render__(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
150
151
|
{ key: 1 },
|
|
151
152
|
_renderList($setup.sessions, (item) => {
|
|
152
153
|
return _openBlock(), _createElementBlock("div", {
|
|
153
|
-
key: item.
|
|
154
|
+
key: item[$setup.sessionKey],
|
|
154
155
|
class: _normalizeClass(["opencode-session-item", { active: item.active }]),
|
|
155
156
|
role: "option",
|
|
156
157
|
"aria-selected": item.active,
|
|
@@ -8,6 +8,7 @@ export interface OpenCodeWidgetContext {
|
|
|
8
8
|
selectMode: Ref<boolean>;
|
|
9
9
|
selectEnabled: Ref<boolean>;
|
|
10
10
|
sessionListCollapsed: Ref<boolean>;
|
|
11
|
+
sessionKey: Ref<string>;
|
|
11
12
|
loading: Ref<boolean>;
|
|
12
13
|
loadingSessionList: Ref<boolean | undefined>;
|
|
13
14
|
showEmptyState: Ref<boolean>;
|
|
@@ -55,17 +55,18 @@ declare const __VLS_component: import("vue").DefineComponent<OpenCodeWidgetProps
|
|
|
55
55
|
"onClear-selected-nodes"?: (() => any) | undefined;
|
|
56
56
|
"onEmpty-action"?: (() => any) | undefined;
|
|
57
57
|
}>, {
|
|
58
|
+
title: string;
|
|
58
59
|
loading: boolean;
|
|
59
60
|
showEmptyState: boolean;
|
|
60
61
|
emptyStateText: string;
|
|
61
62
|
emptyStateActionText: string;
|
|
62
63
|
iframeSrc: string;
|
|
63
|
-
title: string;
|
|
64
64
|
sessionListCollapsed: boolean;
|
|
65
65
|
selectMode: boolean;
|
|
66
66
|
selectEnabled: boolean;
|
|
67
67
|
selectShortcutLabel: string;
|
|
68
68
|
showClearAll: boolean;
|
|
69
|
+
sessionKey: string;
|
|
69
70
|
sessions: import("./types").OpenCodeWidgetSession[];
|
|
70
71
|
open: boolean;
|
|
71
72
|
hotkeyLabel: string;
|
|
@@ -45,6 +45,7 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent(__spreadProps(__spreadValue
|
|
|
45
45
|
selectShortcutLabel: { type: String, required: false, default: "\u6309 ESC \u6216 Ctrl+P \u9000\u51FA" },
|
|
46
46
|
selectMode: { type: Boolean, required: false, default: false },
|
|
47
47
|
sessionListCollapsed: { type: Boolean, required: false, default: true },
|
|
48
|
+
sessionKey: { type: String, required: false, default: "id" },
|
|
48
49
|
loading: { type: Boolean, required: false, default: false },
|
|
49
50
|
loadingSessionList: { type: Boolean, required: false },
|
|
50
51
|
showEmptyState: { type: Boolean, required: false, default: false },
|
|
@@ -195,6 +196,7 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent(__spreadProps(__spreadValue
|
|
|
195
196
|
selectMode: toRef(props, "selectMode"),
|
|
196
197
|
selectEnabled: toRef(props, "selectEnabled"),
|
|
197
198
|
sessionListCollapsed: localSessionListCollapsed,
|
|
199
|
+
sessionKey: toRef(props, "sessionKey"),
|
|
198
200
|
loading: toRef(props, "loading"),
|
|
199
201
|
loadingSessionList: toRef(props, "loadingSessionList"),
|
|
200
202
|
showEmptyState: toRef(props, "showEmptyState"),
|
|
@@ -23,6 +23,7 @@ export interface OpenCodeWidgetProps {
|
|
|
23
23
|
selectShortcutLabel?: string;
|
|
24
24
|
selectMode?: boolean;
|
|
25
25
|
sessionListCollapsed?: boolean;
|
|
26
|
+
sessionKey?: string;
|
|
26
27
|
loading?: boolean;
|
|
27
28
|
loadingSessionList?: boolean;
|
|
28
29
|
showEmptyState?: boolean;
|
|
@@ -60,10 +61,12 @@ export interface OpenCodeRemoveSelectedPayload {
|
|
|
60
61
|
}
|
|
61
62
|
export interface OpenCodeWidgetSessionItem {
|
|
62
63
|
key: string;
|
|
64
|
+
id: string;
|
|
63
65
|
title: string;
|
|
64
66
|
meta: string;
|
|
65
67
|
active: boolean;
|
|
66
68
|
session: OpenCodeWidgetSession;
|
|
69
|
+
[key: string]: any;
|
|
67
70
|
}
|
|
68
71
|
export interface OpenCodeSelectedElementItem {
|
|
69
72
|
key: string;
|
|
@@ -318,7 +318,7 @@ var __vue_sfc__$2 = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
318
318
|
__name: "SessionList",
|
|
319
319
|
setup(__props, { expose: __expose }) {
|
|
320
320
|
__expose();
|
|
321
|
-
const { sessionListCollapsed: collapsed, sessionItems: sessions, loadingSessionList, handleCreateSession, handleSelectSession, handleDeleteSession } = useOpenCodeWidgetContext();
|
|
321
|
+
const { sessionListCollapsed: collapsed, sessionItems: sessions, loadingSessionList, handleCreateSession, handleSelectSession, handleDeleteSession, sessionKey } = useOpenCodeWidgetContext();
|
|
322
322
|
const isAnimating = (0, vue.ref)(false);
|
|
323
323
|
let animTimer = null;
|
|
324
324
|
(0, vue.watch)(collapsed, () => {
|
|
@@ -335,6 +335,7 @@ var __vue_sfc__$2 = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
335
335
|
handleCreateSession,
|
|
336
336
|
handleSelectSession,
|
|
337
337
|
handleDeleteSession,
|
|
338
|
+
sessionKey,
|
|
338
339
|
isAnimating,
|
|
339
340
|
get animTimer() {
|
|
340
341
|
return animTimer;
|
|
@@ -394,7 +395,7 @@ function __vue_render__$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
394
395
|
}, [..._cache[3] || (_cache[3] = [(0, vue.createElementVNode)("div", { class: "opencode-skeleton-title" }, null, -1), (0, vue.createElementVNode)("div", { class: "opencode-skeleton-meta" }, null, -1)])]);
|
|
395
396
|
}), 64))])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 3 }, [(0, vue.createCommentVNode)(" Content "), (0, vue.createElementVNode)("div", _hoisted_3$1, [$setup.loadingSessionList ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$1, [..._cache[4] || (_cache[4] = [(0, vue.createElementVNode)("div", { class: "opencode-loading-spinner small" }, null, -1)])])) : (0, vue.createCommentVNode)("v-if", true), $setup.sessions.length > 0 ? ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, (0, vue.renderList)($setup.sessions, (item) => {
|
|
396
397
|
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
|
|
397
|
-
key: item.
|
|
398
|
+
key: item[$setup.sessionKey],
|
|
398
399
|
class: (0, vue.normalizeClass)(["opencode-session-item", { active: item.active }]),
|
|
399
400
|
role: "option",
|
|
400
401
|
"aria-selected": item.active,
|
|
@@ -627,6 +628,7 @@ function formatSessionMeta(session) {
|
|
|
627
628
|
function useSession(options) {
|
|
628
629
|
const sessionItems = (0, vue.computed)(() => (options.sessions.value || []).map((session) => ({
|
|
629
630
|
key: session.id,
|
|
631
|
+
id: session.id,
|
|
630
632
|
title: session.title || "新会话",
|
|
631
633
|
meta: formatSessionMeta(session),
|
|
632
634
|
active: session.id === options.currentSessionId.value,
|
|
@@ -928,6 +930,11 @@ var __vue_sfc__ = /* @__PURE__ */ (0, vue.defineComponent)(__spreadProps(__sprea
|
|
|
928
930
|
required: false,
|
|
929
931
|
default: true
|
|
930
932
|
},
|
|
933
|
+
sessionKey: {
|
|
934
|
+
type: String,
|
|
935
|
+
required: false,
|
|
936
|
+
default: "id"
|
|
937
|
+
},
|
|
931
938
|
loading: {
|
|
932
939
|
type: Boolean,
|
|
933
940
|
required: false,
|
|
@@ -1118,6 +1125,7 @@ var __vue_sfc__ = /* @__PURE__ */ (0, vue.defineComponent)(__spreadProps(__sprea
|
|
|
1118
1125
|
selectMode: (0, vue.toRef)(props, "selectMode"),
|
|
1119
1126
|
selectEnabled: (0, vue.toRef)(props, "selectEnabled"),
|
|
1120
1127
|
sessionListCollapsed: localSessionListCollapsed,
|
|
1128
|
+
sessionKey: (0, vue.toRef)(props, "sessionKey"),
|
|
1121
1129
|
loading: (0, vue.toRef)(props, "loading"),
|
|
1122
1130
|
loadingSessionList: (0, vue.toRef)(props, "loadingSessionList"),
|
|
1123
1131
|
showEmptyState: (0, vue.toRef)(props, "showEmptyState"),
|
|
@@ -1307,7 +1315,7 @@ __vue_sfc__.render = __vue_render__;
|
|
|
1307
1315
|
var open_code_widget_default = __vue_sfc__;
|
|
1308
1316
|
//#endregion
|
|
1309
1317
|
//#region es/index.js
|
|
1310
|
-
var version = "1.0.
|
|
1318
|
+
var version = "1.0.9";
|
|
1311
1319
|
function install(app, options) {
|
|
1312
1320
|
[open_code_widget_default].forEach((item) => {
|
|
1313
1321
|
if (item.install) app.use(item, options);
|
|
@@ -314,7 +314,7 @@ var __vue_sfc__$2 = /* @__PURE__ */ defineComponent({
|
|
|
314
314
|
__name: "SessionList",
|
|
315
315
|
setup(__props, { expose: __expose }) {
|
|
316
316
|
__expose();
|
|
317
|
-
const { sessionListCollapsed: collapsed, sessionItems: sessions, loadingSessionList, handleCreateSession, handleSelectSession, handleDeleteSession } = useOpenCodeWidgetContext();
|
|
317
|
+
const { sessionListCollapsed: collapsed, sessionItems: sessions, loadingSessionList, handleCreateSession, handleSelectSession, handleDeleteSession, sessionKey } = useOpenCodeWidgetContext();
|
|
318
318
|
const isAnimating = ref(false);
|
|
319
319
|
let animTimer = null;
|
|
320
320
|
watch(collapsed, () => {
|
|
@@ -331,6 +331,7 @@ var __vue_sfc__$2 = /* @__PURE__ */ defineComponent({
|
|
|
331
331
|
handleCreateSession,
|
|
332
332
|
handleSelectSession,
|
|
333
333
|
handleDeleteSession,
|
|
334
|
+
sessionKey,
|
|
334
335
|
isAnimating,
|
|
335
336
|
get animTimer() {
|
|
336
337
|
return animTimer;
|
|
@@ -390,7 +391,7 @@ function __vue_render__$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
390
391
|
}, [..._cache[3] || (_cache[3] = [createElementVNode("div", { class: "opencode-skeleton-title" }, null, -1), createElementVNode("div", { class: "opencode-skeleton-meta" }, null, -1)])]);
|
|
391
392
|
}), 64))])) : (openBlock(), createElementBlock(Fragment, { key: 3 }, [createCommentVNode(" Content "), createElementVNode("div", _hoisted_3$1, [$setup.loadingSessionList ? (openBlock(), createElementBlock("div", _hoisted_4$1, [..._cache[4] || (_cache[4] = [createElementVNode("div", { class: "opencode-loading-spinner small" }, null, -1)])])) : createCommentVNode("v-if", true), $setup.sessions.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList($setup.sessions, (item) => {
|
|
392
393
|
return openBlock(), createElementBlock("div", {
|
|
393
|
-
key: item.
|
|
394
|
+
key: item[$setup.sessionKey],
|
|
394
395
|
class: normalizeClass(["opencode-session-item", { active: item.active }]),
|
|
395
396
|
role: "option",
|
|
396
397
|
"aria-selected": item.active,
|
|
@@ -623,6 +624,7 @@ function formatSessionMeta(session) {
|
|
|
623
624
|
function useSession(options) {
|
|
624
625
|
const sessionItems = computed(() => (options.sessions.value || []).map((session) => ({
|
|
625
626
|
key: session.id,
|
|
627
|
+
id: session.id,
|
|
626
628
|
title: session.title || "新会话",
|
|
627
629
|
meta: formatSessionMeta(session),
|
|
628
630
|
active: session.id === options.currentSessionId.value,
|
|
@@ -924,6 +926,11 @@ var __vue_sfc__ = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
|
|
|
924
926
|
required: false,
|
|
925
927
|
default: true
|
|
926
928
|
},
|
|
929
|
+
sessionKey: {
|
|
930
|
+
type: String,
|
|
931
|
+
required: false,
|
|
932
|
+
default: "id"
|
|
933
|
+
},
|
|
927
934
|
loading: {
|
|
928
935
|
type: Boolean,
|
|
929
936
|
required: false,
|
|
@@ -1114,6 +1121,7 @@ var __vue_sfc__ = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
|
|
|
1114
1121
|
selectMode: toRef(props, "selectMode"),
|
|
1115
1122
|
selectEnabled: toRef(props, "selectEnabled"),
|
|
1116
1123
|
sessionListCollapsed: localSessionListCollapsed,
|
|
1124
|
+
sessionKey: toRef(props, "sessionKey"),
|
|
1117
1125
|
loading: toRef(props, "loading"),
|
|
1118
1126
|
loadingSessionList: toRef(props, "loadingSessionList"),
|
|
1119
1127
|
showEmptyState: toRef(props, "showEmptyState"),
|
|
@@ -1303,7 +1311,7 @@ __vue_sfc__.render = __vue_render__;
|
|
|
1303
1311
|
var open_code_widget_default = __vue_sfc__;
|
|
1304
1312
|
//#endregion
|
|
1305
1313
|
//#region es/index.js
|
|
1306
|
-
var version = "1.0.
|
|
1314
|
+
var version = "1.0.9";
|
|
1307
1315
|
function install(app, options) {
|
|
1308
1316
|
[open_code_widget_default].forEach((item) => {
|
|
1309
1317
|
if (item.install) app.use(item, options);
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import OpenCodeWidget from './open-code-widget';
|
|
2
2
|
import type { App } from 'vue';
|
|
3
|
-
declare const version = "1.0.
|
|
3
|
+
declare const version = "1.0.9";
|
|
4
4
|
declare function install(app: App<any>, options?: any): void;
|
|
5
5
|
export { install, version, OpenCodeWidget };
|
|
6
6
|
export default install;
|
package/lib/index.js
CHANGED
|
@@ -34,7 +34,7 @@ __export(lib_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(lib_exports);
|
|
36
36
|
var import_open_code_widget = __toESM(require("./open-code-widget"));
|
|
37
|
-
const version = "1.0.
|
|
37
|
+
const version = "1.0.9";
|
|
38
38
|
function install(app, options) {
|
|
39
39
|
const components = [
|
|
40
40
|
import_open_code_widget.default
|
|
@@ -58,6 +58,7 @@ function useSession(options) {
|
|
|
58
58
|
const sessionItems = (0, import_vue.computed)(
|
|
59
59
|
() => (options.sessions.value || []).map((session) => ({
|
|
60
60
|
key: session.id,
|
|
61
|
+
id: session.id,
|
|
61
62
|
title: session.title || "\u65B0\u4F1A\u8BDD",
|
|
62
63
|
meta: formatSessionMeta(session),
|
|
63
64
|
active: session.id === options.currentSessionId.value,
|
|
@@ -35,7 +35,8 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
35
35
|
loadingSessionList,
|
|
36
36
|
handleCreateSession,
|
|
37
37
|
handleSelectSession,
|
|
38
|
-
handleDeleteSession
|
|
38
|
+
handleDeleteSession,
|
|
39
|
+
sessionKey
|
|
39
40
|
} = (0, import_context.useOpenCodeWidgetContext)();
|
|
40
41
|
const isAnimating = (0, import_vue2.ref)(false);
|
|
41
42
|
let animTimer = null;
|
|
@@ -50,7 +51,7 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)({
|
|
|
50
51
|
if (isAnimating.value) return true;
|
|
51
52
|
return false;
|
|
52
53
|
});
|
|
53
|
-
const __returned__ = { collapsed, sessions, loadingSessionList, handleCreateSession, handleSelectSession, handleDeleteSession, isAnimating, get animTimer() {
|
|
54
|
+
const __returned__ = { collapsed, sessions, loadingSessionList, handleCreateSession, handleSelectSession, handleDeleteSession, sessionKey, isAnimating, get animTimer() {
|
|
54
55
|
return animTimer;
|
|
55
56
|
}, set animTimer(v) {
|
|
56
57
|
animTimer = v;
|
|
@@ -172,7 +173,7 @@ function __vue_render__(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
172
173
|
{ key: 1 },
|
|
173
174
|
(0, import_vue3.renderList)($setup.sessions, (item) => {
|
|
174
175
|
return (0, import_vue3.openBlock)(), (0, import_vue3.createElementBlock)("div", {
|
|
175
|
-
key: item.
|
|
176
|
+
key: item[$setup.sessionKey],
|
|
176
177
|
class: (0, import_vue3.normalizeClass)(["opencode-session-item", { active: item.active }]),
|
|
177
178
|
role: "option",
|
|
178
179
|
"aria-selected": item.active,
|
|
@@ -8,6 +8,7 @@ export interface OpenCodeWidgetContext {
|
|
|
8
8
|
selectMode: Ref<boolean>;
|
|
9
9
|
selectEnabled: Ref<boolean>;
|
|
10
10
|
sessionListCollapsed: Ref<boolean>;
|
|
11
|
+
sessionKey: Ref<string>;
|
|
11
12
|
loading: Ref<boolean>;
|
|
12
13
|
loadingSessionList: Ref<boolean | undefined>;
|
|
13
14
|
showEmptyState: Ref<boolean>;
|
|
@@ -55,17 +55,18 @@ declare const __VLS_component: import("vue").DefineComponent<OpenCodeWidgetProps
|
|
|
55
55
|
"onClear-selected-nodes"?: (() => any) | undefined;
|
|
56
56
|
"onEmpty-action"?: (() => any) | undefined;
|
|
57
57
|
}>, {
|
|
58
|
+
title: string;
|
|
58
59
|
loading: boolean;
|
|
59
60
|
showEmptyState: boolean;
|
|
60
61
|
emptyStateText: string;
|
|
61
62
|
emptyStateActionText: string;
|
|
62
63
|
iframeSrc: string;
|
|
63
|
-
title: string;
|
|
64
64
|
sessionListCollapsed: boolean;
|
|
65
65
|
selectMode: boolean;
|
|
66
66
|
selectEnabled: boolean;
|
|
67
67
|
selectShortcutLabel: string;
|
|
68
68
|
showClearAll: boolean;
|
|
69
|
+
sessionKey: string;
|
|
69
70
|
sessions: import("./types").OpenCodeWidgetSession[];
|
|
70
71
|
open: boolean;
|
|
71
72
|
hotkeyLabel: string;
|
|
@@ -76,6 +76,7 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)(__spreadProp
|
|
|
76
76
|
selectShortcutLabel: { type: String, required: false, default: "\u6309 ESC \u6216 Ctrl+P \u9000\u51FA" },
|
|
77
77
|
selectMode: { type: Boolean, required: false, default: false },
|
|
78
78
|
sessionListCollapsed: { type: Boolean, required: false, default: true },
|
|
79
|
+
sessionKey: { type: String, required: false, default: "id" },
|
|
79
80
|
loading: { type: Boolean, required: false, default: false },
|
|
80
81
|
loadingSessionList: { type: Boolean, required: false },
|
|
81
82
|
showEmptyState: { type: Boolean, required: false, default: false },
|
|
@@ -226,6 +227,7 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)(__spreadProp
|
|
|
226
227
|
selectMode: (0, import_vue2.toRef)(props, "selectMode"),
|
|
227
228
|
selectEnabled: (0, import_vue2.toRef)(props, "selectEnabled"),
|
|
228
229
|
sessionListCollapsed: localSessionListCollapsed,
|
|
230
|
+
sessionKey: (0, import_vue2.toRef)(props, "sessionKey"),
|
|
229
231
|
loading: (0, import_vue2.toRef)(props, "loading"),
|
|
230
232
|
loadingSessionList: (0, import_vue2.toRef)(props, "loadingSessionList"),
|
|
231
233
|
showEmptyState: (0, import_vue2.toRef)(props, "showEmptyState"),
|
|
@@ -23,6 +23,7 @@ export interface OpenCodeWidgetProps {
|
|
|
23
23
|
selectShortcutLabel?: string;
|
|
24
24
|
selectMode?: boolean;
|
|
25
25
|
sessionListCollapsed?: boolean;
|
|
26
|
+
sessionKey?: string;
|
|
26
27
|
loading?: boolean;
|
|
27
28
|
loadingSessionList?: boolean;
|
|
28
29
|
showEmptyState?: boolean;
|
|
@@ -60,10 +61,12 @@ export interface OpenCodeRemoveSelectedPayload {
|
|
|
60
61
|
}
|
|
61
62
|
export interface OpenCodeWidgetSessionItem {
|
|
62
63
|
key: string;
|
|
64
|
+
id: string;
|
|
63
65
|
title: string;
|
|
64
66
|
meta: string;
|
|
65
67
|
active: boolean;
|
|
66
68
|
session: OpenCodeWidgetSession;
|
|
69
|
+
[key: string]: any;
|
|
67
70
|
}
|
|
68
71
|
export interface OpenCodeSelectedElementItem {
|
|
69
72
|
key: string;
|
package/lib/web-types.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json","framework":"vue","name":"@vite-plugin-opencode-assistant/components","version":"1.0.
|
|
1
|
+
{"$schema":"https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json","framework":"vue","name":"@vite-plugin-opencode-assistant/components","version":"1.0.9","contributions":{"html":{"tags":[{"name":"open-code","attributes":[{"name":"","default":"`'bottom-right'`","description":"挂件显示的位置","value":{"type":"`'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'`","kind":"expression"}},{"name":"","default":"`false`","description":"挂件是否打开","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`'light'`","description":"主题模式","value":{"type":"`'light' | 'dark' | 'auto'`","kind":"expression"}},{"name":"","default":"`'AI 助手'`","description":"助手头部显示的标题","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`''`","description":"Web UI 的 URL 来源","value":{"type":"`string`","kind":"expression"}},{"name":"","default":"`false`","description":"是否进入选择页面元素模式","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`false`","description":"是否显示加载状态","value":{"type":"`boolean`","kind":"expression"}},{"name":"","default":"`[]`","description":"会话列表数据","value":{"type":"`OpenCodeWidgetSessionItem[]`","kind":"expression"}},{"name":"","default":"`null`","description":"当前选中的会话 ID","value":{"type":"`string | null`","kind":"expression"}},{"name":"","default":"`[]`","description":"已选中的元素列表","value":{"type":"`OpenCodeSelectedElement[]`","kind":"expression"}}],"events":[{"name":"`update:open`","description":"当挂件打开或关闭时触发","arguments":[{"name":"open","type":"en"},{"name":"boolean"}]},{"name":"","description":"点击触发挂件开关","arguments":[{"name":"open","type":"en"},{"name":"boolean"}]},{"name":"","description":"点击关闭按钮时触发","arguments":[]},{"name":"`toggle-select-mode`","description":"点击选择模式切换按钮时触发","arguments":[{"name":"mode","type":"de"},{"name":"boolean"}]},{"name":"`click-selected-node`","description":"点击已选中的气泡或节点卡片时触发","arguments":[{"name":"element","type":"nt"},{"name":"OpenCodeSelectedElement"}]},{"name":"`remove-selected-node`","description":"删除已选中的元素时触发","arguments":[{"name":"payload","type":"ad"},{"name":"OpenCodeRemoveSelectedPayload"}]},{"name":"`clear-selected-nodes`","description":"清空所有选中元素时触发","arguments":[]},{"name":"`create-session`","description":"点击创建新会话时触发","arguments":[]},{"name":"`select-session`","description":"选中某个历史会话时触发","arguments":[{"name":"session","type":"on"},{"name":"OpenCodeWidgetSessionItem"}]},{"name":"`delete-session`","description":"删除某个历史会话时触发","arguments":[{"name":"session","type":"on"},{"name":"OpenCodeWidgetSessionItem"}]}]}],"attributes":[]}},"js-types-syntax":"typescript"}
|