vite-plugin-opencode-assistant 1.0.37 → 1.0.39

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.
@@ -56,6 +56,7 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent({
56
56
  config: { type: Object, required: true }
57
57
  },
58
58
  setup(__props, { expose: __expose }) {
59
+ var _a;
59
60
  __expose();
60
61
  const props = __props;
61
62
  const open = ref(false);
@@ -69,15 +70,18 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent({
69
70
  open: autoOpen = false,
70
71
  hotkey = "ctrl+k",
71
72
  proxyPort = 4098,
72
- proxyHost = "localhost"
73
+ proxyHost = "localhost",
74
+ displayMode = "bubble",
75
+ splitMode
73
76
  } = props.config;
74
77
  const widgetTheme = initialTheme;
78
+ const splitPanelWidth = ref((_a = splitMode == null ? void 0 : splitMode.width) != null ? _a : 500);
75
79
  const proxyBaseUrl = computed(() => {
76
80
  return `http://${proxyHost}:${proxyPort}`;
77
81
  });
78
82
  const showNotification = (msg, options) => {
79
- var _a, _b;
80
- (_b = (_a = widgetRef.value) == null ? void 0 : _a.showNotification) == null ? void 0 : _b.call(_a, msg, options);
83
+ var _a2, _b;
84
+ (_b = (_a2 = widgetRef.value) == null ? void 0 : _a2.showNotification) == null ? void 0 : _b.call(_a2, msg, options);
81
85
  };
82
86
  const {
83
87
  serviceStatus,
@@ -216,8 +220,8 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent({
216
220
  }, 1e3);
217
221
  }
218
222
  const handleIframeMessage = (event) => {
219
- var _a;
220
- if (((_a = event.data) == null ? void 0 : _a.type) === "OPENCODE_READY") {
223
+ var _a2;
224
+ if (((_a2 = event.data) == null ? void 0 : _a2.type) === "OPENCODE_READY") {
221
225
  sendThemeToIframe();
222
226
  }
223
227
  };
@@ -240,12 +244,12 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent({
240
244
  }
241
245
  });
242
246
  const handleSelectNode = (element) => {
243
- var _a;
247
+ var _a2;
244
248
  const elementWithContext = __spreadProps(__spreadValues({}, element), {
245
249
  previewPageUrl: window.location.href,
246
250
  previewPageTitle: document.title
247
251
  });
248
- (_a = widgetRef.value) == null ? void 0 : _a.sendMessageToIframe("OPENCODE_INSERT_FILE_PART", {
252
+ (_a2 = widgetRef.value) == null ? void 0 : _a2.sendMessageToIframe("OPENCODE_INSERT_FILE_PART", {
249
253
  element: elementWithContext
250
254
  });
251
255
  showNotification(`\u8282\u70B9\u5DF2\u6DFB\u52A0\u5230\u5BF9\u8BDD\u6846`, { mode: "page" });
@@ -267,6 +271,9 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent({
267
271
  const handleThemeChange = (val) => {
268
272
  theme.value = val;
269
273
  };
274
+ const handleSplitPanelWidthChange = (val) => {
275
+ splitPanelWidth.value = val;
276
+ };
270
277
  const handleRemoveSelectedNode = ({ index }) => {
271
278
  removeElement(index);
272
279
  updateContext(true);
@@ -274,7 +281,7 @@ const __vue_sfc__ = /* @__PURE__ */ _defineComponent({
274
281
  const handleFrameLoaded = () => {
275
282
  iframeLoading.value = false;
276
283
  };
277
- const __returned__ = { props, open, selectMode, sessionListCollapsed, loading, widgetRef, retryingWarmup, initialTheme, autoOpen, hotkey, proxyPort, proxyHost, widgetTheme, proxyBaseUrl, showNotification, serviceStatus, chromeMcpFailed, chromeMcpErrorType, chromeMcpErrorMessage, loadingText, updateStatusFromTask, setStarting, selectedElements, removeElement, clearElements, theme, sendThemeToIframe, sessions, loadingSessionList, currentSessionId, iframeSrc, iframeLoading, loadSessions, createSession, deleteSession, selectSession, updateSessionInfo, updateContext, serverSSE, opencodeSSE, thinking, sessionStates, showSessionListSkeleton, computedLoading, displayLoadingText, retryWarmup, ensureServicesStarted, handleToggle, handleSelectNode, handleClearSelected, handleSelectModeChange, handleSessionListCollapsedChange, handleThemeChange, handleRemoveSelectedNode, handleFrameLoaded, get OpenCodeWidget() {
284
+ const __returned__ = { props, open, selectMode, sessionListCollapsed, loading, widgetRef, retryingWarmup, initialTheme, autoOpen, hotkey, proxyPort, proxyHost, displayMode, splitMode, widgetTheme, splitPanelWidth, proxyBaseUrl, showNotification, serviceStatus, chromeMcpFailed, chromeMcpErrorType, chromeMcpErrorMessage, loadingText, updateStatusFromTask, setStarting, selectedElements, removeElement, clearElements, theme, sendThemeToIframe, sessions, loadingSessionList, currentSessionId, iframeSrc, iframeLoading, loadSessions, createSession, deleteSession, selectSession, updateSessionInfo, updateContext, serverSSE, opencodeSSE, thinking, sessionStates, showSessionListSkeleton, computedLoading, displayLoadingText, retryWarmup, ensureServicesStarted, handleToggle, handleSelectNode, handleClearSelected, handleSelectModeChange, handleSessionListCollapsedChange, handleThemeChange, handleSplitPanelWidthChange, handleRemoveSelectedNode, handleFrameLoaded, get OpenCodeWidget() {
278
285
  return OpenCodeWidget;
279
286
  }, LoadingContent, ChromeWarmupError };
280
287
  Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
@@ -300,10 +307,14 @@ function __vue_render__(_ctx, _cache, $props, $setup, $data, $options) {
300
307
  "session-key": "id",
301
308
  "hotkey-label": $setup.hotkey,
302
309
  thinking: $setup.thinking,
310
+ "display-mode": $setup.displayMode,
311
+ "split-mode": $setup.splitMode,
312
+ "split-panel-width": $setup.splitPanelWidth,
303
313
  "onUpdate:open": $setup.handleToggle,
304
314
  "onUpdate:selectMode": $setup.handleSelectModeChange,
305
315
  "onUpdate:sessionListCollapsed": $setup.handleSessionListCollapsedChange,
306
316
  "onUpdate:theme": $setup.handleThemeChange,
317
+ "onUpdate:splitPanelWidth": $setup.handleSplitPanelWidthChange,
307
318
  onToggleTheme: $setup.handleThemeChange,
308
319
  onCreateSession: $setup.createSession,
309
320
  onDeleteSession: $setup.deleteSession,
@@ -328,7 +339,7 @@ function __vue_render__(_ctx, _cache, $props, $setup, $data, $options) {
328
339
  ]),
329
340
  _: 1
330
341
  /* STABLE */
331
- }, 8, ["theme", "open", "select-mode", "session-list-collapsed", "frame-loading", "loading-session-list", "show-session-list-skeleton", "show-error", "iframe-src", "current-session-id", "sessions", "session-states", "hotkey-label", "thinking", "onCreateSession", "onDeleteSession", "onSelectSession", "onEmptyAction"]);
342
+ }, 8, ["theme", "open", "select-mode", "session-list-collapsed", "frame-loading", "loading-session-list", "show-session-list-skeleton", "show-error", "iframe-src", "current-session-id", "sessions", "session-states", "hotkey-label", "thinking", "display-mode", "split-mode", "split-panel-width", "onCreateSession", "onDeleteSession", "onSelectSession", "onEmptyAction"]);
332
343
  }
333
344
  __vue_sfc__.render = __vue_render__;
334
345
  var App_vue_default = __vue_sfc__;
package/es/index.js CHANGED
@@ -181,7 +181,9 @@ function createOpenCodePlugin(options = {}) {
181
181
  open: config.open,
182
182
  hotkey: config.hotkey,
183
183
  proxyPort: actualProxyPort,
184
- proxyHost: config.hostname
184
+ proxyHost: config.hostname,
185
+ displayMode: config.displayMode,
186
+ splitMode: config.splitMode
185
187
  });
186
188
  timer.end();
187
189
  return html.replace("</body>", `${widget}</body>`);
@@ -87,6 +87,7 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)({
87
87
  config: { type: Object, required: true }
88
88
  },
89
89
  setup(__props, { expose: __expose }) {
90
+ var _a;
90
91
  __expose();
91
92
  const props = __props;
92
93
  const open = (0, import_vue2.ref)(false);
@@ -100,15 +101,18 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)({
100
101
  open: autoOpen = false,
101
102
  hotkey = "ctrl+k",
102
103
  proxyPort = 4098,
103
- proxyHost = "localhost"
104
+ proxyHost = "localhost",
105
+ displayMode = "bubble",
106
+ splitMode
104
107
  } = props.config;
105
108
  const widgetTheme = initialTheme;
109
+ const splitPanelWidth = (0, import_vue2.ref)((_a = splitMode == null ? void 0 : splitMode.width) != null ? _a : 500);
106
110
  const proxyBaseUrl = (0, import_vue2.computed)(() => {
107
111
  return `http://${proxyHost}:${proxyPort}`;
108
112
  });
109
113
  const showNotification = (msg, options) => {
110
- var _a, _b;
111
- (_b = (_a = widgetRef.value) == null ? void 0 : _a.showNotification) == null ? void 0 : _b.call(_a, msg, options);
114
+ var _a2, _b;
115
+ (_b = (_a2 = widgetRef.value) == null ? void 0 : _a2.showNotification) == null ? void 0 : _b.call(_a2, msg, options);
112
116
  };
113
117
  const {
114
118
  serviceStatus,
@@ -247,8 +251,8 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)({
247
251
  }, 1e3);
248
252
  }
249
253
  const handleIframeMessage = (event) => {
250
- var _a;
251
- if (((_a = event.data) == null ? void 0 : _a.type) === "OPENCODE_READY") {
254
+ var _a2;
255
+ if (((_a2 = event.data) == null ? void 0 : _a2.type) === "OPENCODE_READY") {
252
256
  sendThemeToIframe();
253
257
  }
254
258
  };
@@ -271,12 +275,12 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)({
271
275
  }
272
276
  });
273
277
  const handleSelectNode = (element) => {
274
- var _a;
278
+ var _a2;
275
279
  const elementWithContext = __spreadProps(__spreadValues({}, element), {
276
280
  previewPageUrl: window.location.href,
277
281
  previewPageTitle: document.title
278
282
  });
279
- (_a = widgetRef.value) == null ? void 0 : _a.sendMessageToIframe("OPENCODE_INSERT_FILE_PART", {
283
+ (_a2 = widgetRef.value) == null ? void 0 : _a2.sendMessageToIframe("OPENCODE_INSERT_FILE_PART", {
280
284
  element: elementWithContext
281
285
  });
282
286
  showNotification(`\u8282\u70B9\u5DF2\u6DFB\u52A0\u5230\u5BF9\u8BDD\u6846`, { mode: "page" });
@@ -298,6 +302,9 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)({
298
302
  const handleThemeChange = (val) => {
299
303
  theme.value = val;
300
304
  };
305
+ const handleSplitPanelWidthChange = (val) => {
306
+ splitPanelWidth.value = val;
307
+ };
301
308
  const handleRemoveSelectedNode = ({ index }) => {
302
309
  removeElement(index);
303
310
  updateContext(true);
@@ -305,7 +312,7 @@ const __vue_sfc__ = /* @__PURE__ */ (0, import_vue.defineComponent)({
305
312
  const handleFrameLoaded = () => {
306
313
  iframeLoading.value = false;
307
314
  };
308
- const __returned__ = { props, open, selectMode, sessionListCollapsed, loading, widgetRef, retryingWarmup, initialTheme, autoOpen, hotkey, proxyPort, proxyHost, widgetTheme, proxyBaseUrl, showNotification, serviceStatus, chromeMcpFailed, chromeMcpErrorType, chromeMcpErrorMessage, loadingText, updateStatusFromTask, setStarting, selectedElements, removeElement, clearElements, theme, sendThemeToIframe, sessions, loadingSessionList, currentSessionId, iframeSrc, iframeLoading, loadSessions, createSession, deleteSession, selectSession, updateSessionInfo, updateContext, serverSSE, opencodeSSE, thinking, sessionStates, showSessionListSkeleton, computedLoading, displayLoadingText, retryWarmup, ensureServicesStarted, handleToggle, handleSelectNode, handleClearSelected, handleSelectModeChange, handleSessionListCollapsedChange, handleThemeChange, handleRemoveSelectedNode, handleFrameLoaded, get OpenCodeWidget() {
315
+ const __returned__ = { props, open, selectMode, sessionListCollapsed, loading, widgetRef, retryingWarmup, initialTheme, autoOpen, hotkey, proxyPort, proxyHost, displayMode, splitMode, widgetTheme, splitPanelWidth, proxyBaseUrl, showNotification, serviceStatus, chromeMcpFailed, chromeMcpErrorType, chromeMcpErrorMessage, loadingText, updateStatusFromTask, setStarting, selectedElements, removeElement, clearElements, theme, sendThemeToIframe, sessions, loadingSessionList, currentSessionId, iframeSrc, iframeLoading, loadSessions, createSession, deleteSession, selectSession, updateSessionInfo, updateContext, serverSSE, opencodeSSE, thinking, sessionStates, showSessionListSkeleton, computedLoading, displayLoadingText, retryWarmup, ensureServicesStarted, handleToggle, handleSelectNode, handleClearSelected, handleSelectModeChange, handleSessionListCollapsedChange, handleThemeChange, handleSplitPanelWidthChange, handleRemoveSelectedNode, handleFrameLoaded, get OpenCodeWidget() {
309
316
  return import_components.OpenCodeWidget;
310
317
  }, LoadingContent: import_LoadingContent_vue.default, ChromeWarmupError: import_ChromeWarmupError_vue.default };
311
318
  Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
@@ -330,10 +337,14 @@ function __vue_render__(_ctx, _cache, $props, $setup, $data, $options) {
330
337
  "session-key": "id",
331
338
  "hotkey-label": $setup.hotkey,
332
339
  thinking: $setup.thinking,
340
+ "display-mode": $setup.displayMode,
341
+ "split-mode": $setup.splitMode,
342
+ "split-panel-width": $setup.splitPanelWidth,
333
343
  "onUpdate:open": $setup.handleToggle,
334
344
  "onUpdate:selectMode": $setup.handleSelectModeChange,
335
345
  "onUpdate:sessionListCollapsed": $setup.handleSessionListCollapsedChange,
336
346
  "onUpdate:theme": $setup.handleThemeChange,
347
+ "onUpdate:splitPanelWidth": $setup.handleSplitPanelWidthChange,
337
348
  onToggleTheme: $setup.handleThemeChange,
338
349
  onCreateSession: $setup.createSession,
339
350
  onDeleteSession: $setup.deleteSession,
@@ -358,7 +369,7 @@ function __vue_render__(_ctx, _cache, $props, $setup, $data, $options) {
358
369
  ]),
359
370
  _: 1
360
371
  /* STABLE */
361
- }, 8, ["theme", "open", "select-mode", "session-list-collapsed", "frame-loading", "loading-session-list", "show-session-list-skeleton", "show-error", "iframe-src", "current-session-id", "sessions", "session-states", "hotkey-label", "thinking", "onCreateSession", "onDeleteSession", "onSelectSession", "onEmptyAction"]);
372
+ }, 8, ["theme", "open", "select-mode", "session-list-collapsed", "frame-loading", "loading-session-list", "show-session-list-skeleton", "show-error", "iframe-src", "current-session-id", "sessions", "session-states", "hotkey-label", "thinking", "display-mode", "split-mode", "split-panel-width", "onCreateSession", "onDeleteSession", "onSelectSession", "onEmptyAction"]);
362
373
  }
363
374
  __vue_sfc__.render = __vue_render__;
364
375
  var App_vue_default = __vue_sfc__;