@kweaver-ai/kweaver-sdk 0.5.2 → 0.6.1

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.
Files changed (57) hide show
  1. package/README.md +19 -1
  2. package/README.zh.md +19 -1
  3. package/dist/api/agent-chat.d.ts +7 -1
  4. package/dist/api/agent-chat.js +146 -40
  5. package/dist/api/agent-list.js +13 -13
  6. package/dist/api/business-domains.js +9 -5
  7. package/dist/api/context-loader.js +4 -1
  8. package/dist/api/conversations.js +4 -9
  9. package/dist/api/dataflow2.d.ts +95 -0
  10. package/dist/api/dataflow2.js +80 -0
  11. package/dist/api/headers.d.ts +2 -0
  12. package/dist/api/headers.js +7 -2
  13. package/dist/api/skills.js +2 -10
  14. package/dist/api/vega.d.ts +0 -16
  15. package/dist/api/vega.js +0 -33
  16. package/dist/auth/oauth.d.ts +7 -6
  17. package/dist/auth/oauth.js +170 -80
  18. package/dist/cli.js +21 -1
  19. package/dist/client.d.ts +9 -0
  20. package/dist/client.js +48 -8
  21. package/dist/commands/auth.js +103 -42
  22. package/dist/commands/bkn-schema.js +22 -0
  23. package/dist/commands/call.js +8 -5
  24. package/dist/commands/dataflow.d.ts +1 -0
  25. package/dist/commands/dataflow.js +251 -0
  26. package/dist/commands/explore-bkn.d.ts +79 -0
  27. package/dist/commands/explore-bkn.js +273 -0
  28. package/dist/commands/explore-chat.d.ts +3 -0
  29. package/dist/commands/explore-chat.js +193 -0
  30. package/dist/commands/explore-vega.d.ts +3 -0
  31. package/dist/commands/explore-vega.js +71 -0
  32. package/dist/commands/explore.d.ts +9 -0
  33. package/dist/commands/explore.js +258 -0
  34. package/dist/commands/vega.js +2 -104
  35. package/dist/config/no-auth.d.ts +3 -0
  36. package/dist/config/no-auth.js +5 -0
  37. package/dist/config/store.d.ts +8 -0
  38. package/dist/config/store.js +22 -0
  39. package/dist/index.d.ts +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/kweaver.d.ts +5 -0
  42. package/dist/kweaver.js +32 -2
  43. package/dist/resources/bkn.js +2 -3
  44. package/dist/resources/knowledge-networks.js +3 -8
  45. package/dist/resources/vega.d.ts +0 -6
  46. package/dist/resources/vega.js +1 -10
  47. package/dist/templates/explorer/app.js +136 -0
  48. package/dist/templates/explorer/bkn.js +747 -0
  49. package/dist/templates/explorer/chat.js +980 -0
  50. package/dist/templates/explorer/dashboard.js +82 -0
  51. package/dist/templates/explorer/index.html +35 -0
  52. package/dist/templates/explorer/style.css +2440 -0
  53. package/dist/templates/explorer/vega.js +291 -0
  54. package/dist/utils/browser.js +33 -10
  55. package/dist/utils/http.d.ts +3 -0
  56. package/dist/utils/http.js +37 -1
  57. package/package.json +9 -5
@@ -0,0 +1,82 @@
1
+ const dashboardCache = {};
2
+
3
+ async function renderDashboard($el) {
4
+ const gen = navGeneration;
5
+ $el.innerHTML = '<div class="loading-skeleton"><div class="skeleton skeleton-title"></div><div class="loading-skeleton grid"><div class="skeleton skeleton-card"></div><div class="skeleton skeleton-card"></div><div class="skeleton skeleton-card"></div></div></div>';
6
+
7
+ let data;
8
+ try {
9
+ data = await cachedFetch(dashboardCache, "main", () => api("GET", "/api/dashboard"));
10
+ } catch (err) {
11
+ $el.innerHTML = '<div class="error-banner">Failed to load dashboard. <a href="#/" onclick="location.reload()">Retry</a></div>';
12
+ return;
13
+ }
14
+ if (navGeneration !== gen) return;
15
+
16
+ const knList = extractList(data.kn);
17
+ const agentList = extractList(data.agents);
18
+ const catalogList = extractList(data.catalogs);
19
+
20
+ $el.innerHTML = `
21
+ <div class="dashboard">
22
+ <div style="display:flex; justify-content:space-between; align-items:center;">
23
+ <h2>Overview</h2>
24
+ <input type="text" id="dashboard-search" class="dashboard-search" placeholder="Search resources..." autocomplete="off"/>
25
+ </div>
26
+ <div class="summary-cards">
27
+ ${summaryCard("Knowledge Networks", knList, "#/bkn")}
28
+ ${summaryCard("Decision Agents", agentList, "#/chat")}
29
+ ${summaryCard("Vega Catalogs", catalogList, "#/vega")}
30
+ </div>
31
+ <div class="resource-sections">
32
+ ${knList.length ? resourceSection("Knowledge Networks", knList, kn =>
33
+ `<a class="resource-row" href="#/bkn/${enc(kn.id || kn.kg_id)}">
34
+ <span class="resource-name">${esc(kn.name || kn.kg_name || kn.id)}</span>
35
+ <span class="resource-meta">${esc(kn.description || "")}</span>
36
+ </a>`) : ""}
37
+ ${agentList.length ? resourceSection("Decision Agents", agentList, agent =>
38
+ `<a class="resource-row" href="#/chat/${enc(agent.id || agent.agent_id)}">
39
+ <span class="resource-name">${esc(agent.name || agent.agent_name || agent.id)}</span>
40
+ <span class="resource-meta">${esc(agent.description || "")}</span>
41
+ </a>`) : ""}
42
+ ${catalogList.length ? resourceSection("Vega Catalogs", catalogList, cat =>
43
+ `<a class="resource-row" href="#/vega/${enc(cat.id || cat.catalog_id)}">
44
+ <span class="resource-name">${esc(cat.name || cat.catalog_name || cat.id)}</span>
45
+ <span class="resource-meta">${esc(cat.type || "")}</span>
46
+ </a>`) : ""}
47
+ </div>
48
+ </div>
49
+ `;
50
+
51
+ const $search = $el.querySelector("#dashboard-search");
52
+ if ($search) {
53
+ $search.addEventListener("input", (e) => {
54
+ const q = e.target.value.toLowerCase();
55
+ const $rows = $el.querySelectorAll(".resource-row");
56
+ $rows.forEach($row => {
57
+ const text = $row.textContent.toLowerCase();
58
+ $row.style.display = text.includes(q) ? "" : "none";
59
+ });
60
+ $el.querySelectorAll(".resource-section").forEach($sec => {
61
+ const hasVisible = Array.from($sec.querySelectorAll(".resource-row")).some(r => r.style.display !== "none");
62
+ $sec.style.display = hasVisible ? "" : "none";
63
+ });
64
+ });
65
+ }
66
+ }
67
+
68
+ function summaryCard(title, list, href) {
69
+ const count = list.length;
70
+ const hasError = count === 0;
71
+ return `<a class="summary-card${hasError ? " muted" : ""}" href="${href}">
72
+ <div class="summary-card-label">${esc(title)}</div>
73
+ <div class="summary-card-count">${count}</div>
74
+ </a>`;
75
+ }
76
+
77
+ function resourceSection(title, list, renderItem) {
78
+ return `<div class="resource-section">
79
+ <h3>${esc(title)}</h3>
80
+ <div class="resource-list">${list.map(renderItem).join("")}</div>
81
+ </div>`;
82
+ }
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>KWeaver Core</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
8
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
9
+ <link rel="stylesheet" href="/style.css" />
10
+ </head>
11
+ <body>
12
+ <header id="top-bar">
13
+ <div class="top-bar-left">
14
+ <span class="logo">⬡ KWeaver Core</span>
15
+ </div>
16
+ <nav id="tab-bar">
17
+ <a class="tab" href="#/" data-tab="dashboard">Dashboard</a>
18
+ <a class="tab" href="#/chat" data-tab="chat">Decision Agents</a>
19
+ <a class="tab" href="#/bkn" data-tab="bkn">BKN</a>
20
+ <a class="tab" href="#/vega" data-tab="vega">Vega</a>
21
+ </nav>
22
+ <div class="top-bar-right">
23
+ <button id="theme-toggle" class="theme-toggle" style="background: none; border: none; cursor: pointer; font-size: 16px; margin-right: 12px;" title="Toggle Dark Mode">🌙</button>
24
+ <span id="env-label"></span>
25
+ </div>
26
+ </header>
27
+ <main id="content"></main>
28
+
29
+ <script src="/app.js"></script>
30
+ <script src="/dashboard.js"></script>
31
+ <script src="/bkn.js"></script>
32
+ <script src="/chat.js"></script>
33
+ <script src="/vega.js"></script>
34
+ </body>
35
+ </html>