oasis-chat 0.1.1 → 0.1.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.
@@ -1,4 +1,4 @@
1
- import { jsx as M } from "react/jsx-runtime";
1
+ import { jsx as m } from "react/jsx-runtime";
2
2
  import './oasis-chat.css';
3
3
 
4
4
  import { useRef as A, useEffect as T } from "react";
@@ -94,7 +94,7 @@ function h(n = {}) {
94
94
  e && (e.isAuthenticated !== void 0 && (r.isAuthenticated = e.isAuthenticated), e.isTempPwLogin !== void 0 && (r.isTempPwLogin = e.isTempPwLogin), e.accountId !== void 0 && (r.accountId = e.accountId), e.currentWorkspace !== void 0 && (r.currentWorkspace = e.currentWorkspace), r.isHydrated = !0, u({ isHydrated: !0 }));
95
95
  }
96
96
  s();
97
- function j(e) {
97
+ function i(e) {
98
98
  t = e;
99
99
  }
100
100
  function H(e) {
@@ -199,7 +199,7 @@ function h(n = {}) {
199
199
  if (f)
200
200
  c = await f.refresh();
201
201
  else if (t) {
202
- const v = await t.post("/api/auth/user/refresh");
202
+ const v = await t.post("/oasis/auth/user/refresh");
203
203
  c = ((e = v.data) == null ? void 0 : e.data) || v.data;
204
204
  }
205
205
  return c != null && c.exp ? (u({ exp: c.exp }), !0) : !1;
@@ -245,7 +245,7 @@ function h(n = {}) {
245
245
  }
246
246
  return {
247
247
  getState: w,
248
- setHttpClient: j,
248
+ setHttpClient: i,
249
249
  setPortalClient: H,
250
250
  clearAuth: a
251
251
  };
@@ -300,9 +300,9 @@ function q(n) {
300
300
  ...e.headers || {}
301
301
  };
302
302
  P != null && P.workspaceId && (x["current-workspace-id"] = P.workspaceId.toString()), P != null && P.workspaceUuid && (x["current-workspace-uuid"] = P.workspaceUuid);
303
- const D = (e.method || "GET").toUpperCase(), l = D === "GET" || D === "POST" || D === "PUT" ? 6e5 : void 0;
303
+ const D = (e.method || "GET").toUpperCase(), G = D === "GET" || D === "POST" || D === "PUT" ? 6e5 : void 0;
304
304
  try {
305
- const z = await (l ? (o, i) => V(o, i, l) : fetch)(c, {
305
+ const z = await (G ? (o, j) => V(o, j, G) : fetch)(c, {
306
306
  ...e,
307
307
  method: D,
308
308
  headers: x,
@@ -312,22 +312,22 @@ function q(n) {
312
312
  });
313
313
  if (!z.ok) {
314
314
  if (e.errorHandle !== void 0 && e.errorHandle === !1) {
315
- const i = new Error(`HTTP error! status: ${z.status}`);
316
- throw i.response = {
315
+ const j = new Error(`HTTP error! status: ${z.status}`);
316
+ throw j.response = {
317
317
  status: z.status,
318
318
  data: await z.json().catch(() => null)
319
- }, i;
319
+ }, j;
320
320
  }
321
321
  if (z.status === 401 || z.status === 403) {
322
- const { logout: i } = n.getState();
323
- i();
322
+ const { logout: j } = n.getState();
323
+ j();
324
324
  }
325
325
  if (z.status === 400 || z.status === 402 || z.status === 412 || z.status === 500 || z.status === 503) {
326
- const i = new Error(`HTTP error! status: ${z.status}`);
327
- throw i.response = {
326
+ const j = new Error(`HTTP error! status: ${z.status}`);
327
+ throw j.response = {
328
328
  status: z.status,
329
329
  data: await z.json().catch(() => null)
330
- }, i;
330
+ }, j;
331
331
  }
332
332
  const o = new Error(`HTTP error! status: ${z.status}`);
333
333
  throw o.response = {
@@ -351,7 +351,7 @@ function q(n) {
351
351
  headers: c.headers
352
352
  };
353
353
  }
354
- async function j(a, e, c = {}) {
354
+ async function i(a, e, c = {}) {
355
355
  const v = await u(a, {
356
356
  ...c,
357
357
  method: "POST",
@@ -394,7 +394,7 @@ function q(n) {
394
394
  }
395
395
  return {
396
396
  get: s,
397
- post: j,
397
+ post: i,
398
398
  put: H,
399
399
  delete: w,
400
400
  defaults: {
@@ -417,28 +417,28 @@ class Z {
417
417
  * @returns {Promise<Object>} LoginResponseDto
418
418
  */
419
419
  async login(t) {
420
- return (await this.httpClient.post("/api/auth/user/login", t)).data.data;
420
+ return (await this.httpClient.post("/oasis/auth/user/login", t)).data.data;
421
421
  }
422
422
  /**
423
423
  * 내 정보 조회
424
424
  * @returns {Promise<Object>} MyResponseDto
425
425
  */
426
426
  async my() {
427
- return (await this.httpClient.get("/api/auth/user/info")).data.data;
427
+ return (await this.httpClient.get("/oasis/auth/user/info")).data.data;
428
428
  }
429
429
  /**
430
430
  * 로그아웃
431
431
  * @returns {Promise<void>}
432
432
  */
433
433
  async logout() {
434
- await this.httpClient.post("/api/auth/user/logout");
434
+ await this.httpClient.post("/oasis/auth/user/logout");
435
435
  }
436
436
  /**
437
437
  * 토큰 갱신
438
438
  * @returns {Promise<Object>} LoginResponseDto
439
439
  */
440
440
  async refresh() {
441
- return (await this.httpClient.post("/api/auth/user/refresh")).data.data;
441
+ return (await this.httpClient.post("/oasis/auth/user/refresh")).data.data;
442
442
  }
443
443
  /** Assistant */
444
444
  /**
@@ -446,7 +446,7 @@ class Z {
446
446
  * @returns {Promise<Object>} AssistantUserResponseDto
447
447
  */
448
448
  async assistantUser() {
449
- return (await this.httpClient.get("/api/portal/assistant/user")).data.data;
449
+ return (await this.httpClient.get("/oasis/portal/assistant/user")).data.data;
450
450
  }
451
451
  /**
452
452
  * 특정 비서 상세 조회
@@ -454,7 +454,7 @@ class Z {
454
454
  * @returns {Promise<Object>} AssistantInfoResponseDto
455
455
  */
456
456
  async assistantInfo(t) {
457
- return (await this.httpClient.get("/api/portal/assistant?uuid=" + t)).data.data;
457
+ return (await this.httpClient.get("/oasis/portal/assistant?uuid=" + t)).data.data;
458
458
  }
459
459
  /**
460
460
  * 채팅용 비서 정보 조회
@@ -462,7 +462,9 @@ class Z {
462
462
  * @returns {Promise<Object>} AssistantChatInfoResponseDto
463
463
  */
464
464
  async assistantChatInfo(t) {
465
- return (await this.httpClient.get("/api/portal/assistant/" + t + "/chat-info")).data.data;
465
+ return (await this.httpClient.get(
466
+ "/oasis/portal/assistant/" + t + "/chat-info"
467
+ )).data.data;
466
468
  }
467
469
  /**
468
470
  * 비서 생성
@@ -470,7 +472,7 @@ class Z {
470
472
  * @returns {Promise<Object>} AssistantInfoResponseDto
471
473
  */
472
474
  async createAssistant(t) {
473
- return (await this.httpClient.post("/api/portal/assistant", t)).data.data;
475
+ return (await this.httpClient.post("/oasis/portal/assistant", t)).data.data;
474
476
  }
475
477
  /**
476
478
  * 비서 수정
@@ -479,7 +481,7 @@ class Z {
479
481
  * @returns {Promise<Object>} AssistantInfoResponseDto
480
482
  */
481
483
  async updateAssistant(t, f) {
482
- return (await this.httpClient.post("/api/portal/assistant/" + t, f)).data.data;
484
+ return (await this.httpClient.post("/oasis/portal/assistant/" + t, f)).data.data;
483
485
  }
484
486
  /**
485
487
  * 비서 삭제
@@ -487,7 +489,7 @@ class Z {
487
489
  * @returns {Promise<boolean>}
488
490
  */
489
491
  async deleteAssistant(t) {
490
- return (await this.httpClient.delete("/api/portal/assistant/" + t)).data.data;
492
+ return (await this.httpClient.delete("/oasis/portal/assistant/" + t)).data.data;
491
493
  }
492
494
  /**
493
495
  * 비서 사용자 목록 조회
@@ -495,7 +497,7 @@ class Z {
495
497
  * @returns {Promise<Object>} AssistantVisibilityResponseDto
496
498
  */
497
499
  async getAssistantVisibility(t) {
498
- return (await this.httpClient.get("/api/portal/assistant/" + t + "/users")).data.data;
500
+ return (await this.httpClient.get("/oasis/portal/assistant/" + t + "/users")).data.data;
499
501
  }
500
502
  /**
501
503
  * 비서 사용자 등록
@@ -505,7 +507,7 @@ class Z {
505
507
  */
506
508
  async saveAssistantVisibility(t, f) {
507
509
  return (await this.httpClient.post(
508
- "/api/portal/assistant/" + t + "/users",
510
+ "/oasis/portal/assistant/" + t + "/users",
509
511
  f
510
512
  )).data.data;
511
513
  }
@@ -514,14 +516,14 @@ class Z {
514
516
  * @returns {Promise<Array>} ModelInfoResponseDto[]
515
517
  */
516
518
  async modelInfos() {
517
- return (await this.httpClient.get("/api/portal/assistant/models")).data.data;
519
+ return (await this.httpClient.get("/oasis/portal/assistant/models")).data.data;
518
520
  }
519
521
  /**
520
522
  * 비서 mcp 서버 목록 조회
521
523
  * @returns {Promise<Array>} McpServerResponseDto[]
522
524
  */
523
525
  async mcpServers() {
524
- return (await this.httpClient.get("/api/portal/assistant/mcp-servers")).data.data;
526
+ return (await this.httpClient.get("/oasis/portal/assistant/mcp-servers")).data.data;
525
527
  }
526
528
  /**
527
529
  * 워크스페이스 내 사용자 실시간 검색
@@ -529,45 +531,16 @@ class Z {
529
531
  * @returns {Promise<Array>} SearchUserResponseDto[]
530
532
  */
531
533
  async searchUsers(t) {
532
- return (await this.httpClient.get("/api/portal/user/search?keyword=" + t)).data.data;
534
+ return (await this.httpClient.get("/oasis/portal/user/search?keyword=" + t)).data.data;
533
535
  }
534
536
  }
535
537
  function k(n) {
536
538
  return new Z(n);
537
539
  }
538
- const R = "https://oasis-dev.haiqv.ai";
539
- function C() {
540
- return `
541
- // Oasis Chat Service Worker - 프록시 처리
542
- const TARGET_API = '${R}';
543
-
544
- self.addEventListener('install', () => {
545
- self.skipWaiting();
546
- });
547
-
548
- self.addEventListener('activate', (event) => {
549
- event.waitUntil(self.clients.claim());
550
- });
551
-
552
- self.addEventListener('fetch', (event) => {
553
- const url = new URL(event.request.url);
554
-
555
- // /api 경로만 프록시 처리
556
- if (url.pathname.startsWith('/api')) {
557
- event.respondWith(
558
- fetch(\`\${TARGET_API}\${url.pathname}\${url.search}\`, {
559
- method: event.request.method,
560
- headers: event.request.headers,
561
- body: event.request.body,
562
- credentials: 'include',
563
- mode: 'cors',
564
- })
565
- );
566
- }
567
- });
568
- `;
540
+ function R(n) {
541
+ return "/sw.js";
569
542
  }
570
- async function J(n, t = 5e3) {
543
+ async function C(n, t = 5e3) {
571
544
  return new Promise((f) => {
572
545
  const r = Date.now();
573
546
  if (n.active && n.active.state === "activated") {
@@ -585,70 +558,69 @@ async function J(n, t = 5e3) {
585
558
  });
586
559
  });
587
560
  }
588
- async function I() {
561
+ async function J(n) {
589
562
  if (!("serviceWorker" in navigator))
590
563
  return !1;
591
564
  try {
592
- let t = (await navigator.serviceWorker.getRegistrations()).find(
593
- (r) => r.scope === window.location.origin + "/"
565
+ const t = R(n);
566
+ let r = (await navigator.serviceWorker.getRegistrations()).find(
567
+ (s) => s.scope === window.location.origin + "/"
594
568
  );
595
- if (t)
569
+ if (r)
596
570
  console.log("Oasis Chat Service Worker가 이미 등록되어 있습니다.");
597
- else {
598
- const r = C(), u = new Blob([r], { type: "application/javascript" }), s = URL.createObjectURL(u);
571
+ else
599
572
  try {
600
- t = await navigator.serviceWorker.register(s, {
573
+ r = await navigator.serviceWorker.register(t, {
601
574
  scope: "/"
602
575
  }), console.log("Oasis Chat Service Worker가 등록되었습니다.");
603
- } finally {
604
- URL.revokeObjectURL(s);
576
+ } catch (s) {
577
+ return console.error("Service Worker 등록 실패:", s), console.warn(`Service Worker 파일을 다음 경로에서 찾을 수 없습니다: ${t}`), console.warn("Service Worker 파일이 프로젝트의 public 폴더나 루트에 있는지 확인해주세요."), !1;
605
578
  }
606
- }
607
- return await J(t) ? (console.log("Oasis Chat Service Worker가 활성화되었습니다."), !0) : (console.warn("Oasis Chat Service Worker 활성화 시간 초과"), !1);
608
- } catch (n) {
609
- return console.error("Service Worker 등록 실패:", n), !1;
579
+ return await C(r) ? (console.log("Oasis Chat Service Worker가 활성화되었습니다."), !0) : (console.warn("Oasis Chat Service Worker 활성화 시간 초과"), !1);
580
+ } catch (t) {
581
+ return console.error("Service Worker 등록 실패:", t), !1;
610
582
  }
611
583
  }
612
- let G = !1, b = !1;
613
- async function U() {
614
- return G || (G = !0, b = await I()), b;
584
+ let l = !1, b = !1;
585
+ async function I() {
586
+ return l || (l = !0, b = await J()), b;
615
587
  }
616
588
  let N = null, Y = null, W = null;
617
- function K() {
589
+ function U() {
618
590
  return N || (N = h(), Y = q(N), W = k(Y), N.setPortalClient(W)), {
619
591
  authStore: N,
620
592
  httpClient: Y,
621
593
  portalClient: W
622
594
  };
623
595
  }
624
- async function Q(n, t, f) {
596
+ async function K(n, t, f) {
625
597
  try {
626
598
  const { authStore: r, portalClient: u } = f, s = await u.login({
627
599
  account_id: n,
628
600
  password: t
629
- }), { login: j, authMe: H } = r.getState();
630
- j(s);
601
+ }), { login: i, authMe: H } = r.getState();
602
+ i(s);
631
603
  const w = await u.my();
632
604
  return H(w), !0;
633
605
  } catch (r) {
634
606
  return console.error("로그인 실패:", r), !1;
635
607
  }
636
608
  }
637
- function S({ account_id: n, password: t, assistant_uuid: f } = {}) {
609
+ function Q({ account_id: n, password: t, assistant_uuid: f } = {}) {
638
610
  const r = document.createElement("button");
639
611
  r.type = "button", r.className = L("w-12 h-12", "rounded-full");
640
612
  const u = document.createElement("img");
641
613
  return u.src = y, u.alt = "Button", r.appendChild(u), r.addEventListener("click", (s) => {
642
614
  s.preventDefault(), f && alert(`비서 UUID: ${f}`);
643
615
  }), n && t && (async () => {
644
- if (r.disabled = !0, r.style.opacity = "0.5", r.style.cursor = "wait", !await U()) {
616
+ if (r.disabled = !0, r.style.opacity = "0.5", r.style.cursor = "wait", !await I()) {
645
617
  r.disabled = !0, r.style.opacity = "0.3", r.title = "Service Worker 활성화 실패", console.error("Service Worker 활성화 실패 - 라이브러리를 사용할 수 없습니다.");
646
618
  return;
647
619
  }
648
- const j = K();
649
- Q(n, t, j).then((H) => {
620
+ const i = U();
621
+ K(n, t, i).then((H) => {
650
622
  if (H) {
651
- const { authStore: w } = j, a = w.getState();
623
+ const { authStore: w } = i, a = w.getState();
652
624
  console.log("로그인 성공:", a.userName || a.accountId), r.disabled = !1, r.style.opacity = "", r.style.cursor = "";
653
625
  } else
654
626
  console.error("로그인 실패"), r.disabled = !0, r.style.opacity = "0.3", r.title = "로그인 실패";
@@ -657,20 +629,20 @@ function S({ account_id: n, password: t, assistant_uuid: f } = {}) {
657
629
  });
658
630
  })(), r;
659
631
  }
660
- function ee({ ...n }) {
632
+ function $({ ...n }) {
661
633
  const t = A(null);
662
634
  return T(() => {
663
635
  if (!t.current) return;
664
636
  t.current.innerHTML = "";
665
- const f = S({
637
+ const f = Q({
666
638
  ...n
667
639
  });
668
640
  return t.current.appendChild(f), () => {
669
641
  t.current && (t.current.innerHTML = "");
670
642
  };
671
- }, [n.account_id, n.password, n.assistant_uuid]), /* @__PURE__ */ M("div", { ref: t });
643
+ }, [n.account_id, n.password, n.assistant_uuid]), /* @__PURE__ */ m("div", { ref: t });
672
644
  }
673
645
  export {
674
- ee as OasisButton
646
+ $ as OasisButton
675
647
  };
676
648
  //# sourceMappingURL=index.es.js.map