kiku-agent 1.3.2 → 1.3.4

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 (152) hide show
  1. package/README.md +69 -12
  2. package/package.json +2 -1
  3. package/server/agent/agentCore.js +319 -46
  4. package/server/agent/appPaths.js +31 -0
  5. package/server/agent/audioPlayer.js +339 -12
  6. package/server/agent/autoContext.js +193 -0
  7. package/server/agent/catalogEntityResolver.js +170 -28
  8. package/server/agent/clarifyingQuestions.js +137 -35
  9. package/server/agent/cli.js +177 -48
  10. package/server/agent/cloudAdapters.js +116 -0
  11. package/server/agent/commandRegistry.js +409 -80
  12. package/server/agent/commands.js +1056 -125
  13. package/server/agent/config.js +1088 -690
  14. package/server/agent/contextCompactor.js +213 -21
  15. package/server/agent/cpuMetrics.js +199 -0
  16. package/server/agent/engineService.js +591 -0
  17. package/server/agent/eval/modules/evaluation/runner.js +4 -14
  18. package/server/agent/eval/modules/evaluation/scoring.js +15 -3
  19. package/server/agent/eval/modules/server/evalApi.js +5 -5
  20. package/server/agent/eval/modules/ui/evalUi.js +7 -4
  21. package/server/agent/eventBus.js +1 -0
  22. package/server/agent/ink/main.jsx +196 -191
  23. package/server/agent/jobManager.js +11 -1
  24. package/server/agent/lanDiscovery.js +721 -23
  25. package/server/agent/llmClient.js +317 -71
  26. package/server/agent/lmStudioWakeup.js +517 -65
  27. package/server/agent/locationService.js +797 -0
  28. package/server/agent/mcpQuizData.js +509 -0
  29. package/server/agent/memory/contextAllocator.js +19 -7
  30. package/server/agent/memory.js +3 -1
  31. package/server/agent/modelCompatibility.js +352 -0
  32. package/server/agent/modelDefaults.js +1 -0
  33. package/server/agent/modelManager.js +46 -2
  34. package/server/agent/newsWatch.js +9 -3
  35. package/server/agent/processManager.js +229 -0
  36. package/server/agent/prompts.js +174 -8
  37. package/server/agent/routingInterceptor.js +9 -1
  38. package/server/agent/sanitizer.js +41 -6
  39. package/server/agent/searchQueryPlanner.js +202 -0
  40. package/server/agent/session.js +59 -4
  41. package/server/agent/tests/agentFollowUps.test.js +128 -2
  42. package/server/agent/tests/agentMusicControl.test.js +245 -0
  43. package/server/agent/tests/apiRouter.test.js +1 -1
  44. package/server/agent/tests/autoContext.test.js +176 -0
  45. package/server/agent/tests/bilibiliEmbed.test.js +45 -0
  46. package/server/agent/tests/chatHardening.test.js +121 -0
  47. package/server/agent/tests/chineseWebSearchEscalation.test.js +62 -0
  48. package/server/agent/tests/clarifyingQuestions.test.js +33 -0
  49. package/server/agent/tests/cliAutomation.test.js +38 -1
  50. package/server/agent/tests/cloudProviders.test.js +91 -3
  51. package/server/agent/tests/commands.test.js +92 -3
  52. package/server/agent/tests/contextIntelligence.test.js +50 -3
  53. package/server/agent/tests/cpuMetrics.test.js +101 -0
  54. package/server/agent/tests/decisionAndSearchEnhancements.test.js +32 -0
  55. package/server/agent/tests/edgeCasesScenarios.test.js +82 -0
  56. package/server/agent/tests/engineService.test.js +436 -0
  57. package/server/agent/tests/engineUnload.test.js +94 -0
  58. package/server/agent/tests/envCommand.test.js +69 -0
  59. package/server/agent/tests/evalMetrics.test.js +8 -0
  60. package/server/agent/tests/fetchApi.test.js +99 -0
  61. package/server/agent/tests/hybridWebSearch.test.js +2 -0
  62. package/server/agent/tests/lanDiscovery.test.js +5 -0
  63. package/server/agent/tests/lanInterfaces.test.js +510 -0
  64. package/server/agent/tests/lmStudioWakeup.test.js +278 -0
  65. package/server/agent/tests/locationTool.test.js +278 -0
  66. package/server/agent/tests/memoryRoute.test.js +173 -0
  67. package/server/agent/tests/memoryUiNormalization.test.js +75 -0
  68. package/server/agent/tests/modelCompatibility.test.js +148 -0
  69. package/server/agent/tests/modelManager.test.js +32 -0
  70. package/server/agent/tests/musicControlUiBridge.test.js +113 -0
  71. package/server/agent/tests/nextGenArchitecture.test.js +4 -2
  72. package/server/agent/tests/openDomainPrompt.test.js +197 -0
  73. package/server/agent/tests/openDomainSearch.test.js +121 -0
  74. package/server/agent/tests/processManager.test.js +144 -0
  75. package/server/agent/tests/providerPersistence.test.js +10 -5
  76. package/server/agent/tests/quickActionsAndModals.test.js +180 -0
  77. package/server/agent/tests/searchQueryPlanner.test.js +108 -0
  78. package/server/agent/tests/securityAuditRemediation.test.js +16 -9
  79. package/server/agent/tests/securityAuditRemediations2.test.js +154 -0
  80. package/server/agent/tests/securityHardening.test.js +4 -4
  81. package/server/agent/tests/sessionAndCopy.test.js +39 -4
  82. package/server/agent/tests/sidebarControls.test.js +34 -0
  83. package/server/agent/tests/statefulMemory.test.js +8 -1
  84. package/server/agent/tests/textProtocolLoop.test.js +71 -0
  85. package/server/agent/tests/textToolParsing.test.js +48 -0
  86. package/server/agent/tests/toolRoutingRegressions.test.js +41 -0
  87. package/server/agent/tests/unifiedEndpoints.test.js +13 -6
  88. package/server/agent/tests/v110Features.test.js +1 -1
  89. package/server/agent/tests/vramEstimator.test.js +75 -0
  90. package/server/agent/tests/webChatDocs.test.js +199 -0
  91. package/server/agent/tests/webChatInferenceControl.test.js +298 -0
  92. package/server/agent/tests/webChatInspection.test.js +256 -5
  93. package/server/agent/tests/webChatMcp.test.js +94 -0
  94. package/server/agent/tests/webExtract.test.js +23 -0
  95. package/server/agent/tests/webSources.test.js +46 -12
  96. package/server/agent/textToolProtocol.js +173 -46
  97. package/server/agent/toolRouter.js +318 -44
  98. package/server/agent/tools.js +877 -96
  99. package/server/agent/ui.js +39 -34
  100. package/server/agent/vramService.js +35 -54
  101. package/server/agent/webSearch.js +441 -162
  102. package/server/agent/websearch/orchestrator.js +15 -5
  103. package/server/agent/websearch/resilience/cache.js +9 -2
  104. package/server/agent/websearch/security/ssrf.js +41 -10
  105. package/server/agent/youtubeAuth.js +5 -20
  106. package/server/apiRouter.js +5558 -4422
  107. package/server/mcp/data/discography.js +2 -2
  108. package/server/mcp/examples/antigravity.example.json +17 -0
  109. package/server/mcp/handler.js +8 -4
  110. package/server/mcp/security.js +220 -21
  111. package/server/mcp/server.js +2 -1
  112. package/server/mcp/tests/connection.test.js +14 -8
  113. package/server/mcp/tests/mcpKeyAuth.test.js +156 -0
  114. package/server/mcp/tools.js +7 -1
  115. package/server/supabase_migration_prefix.sql +102 -0
  116. package/server/supabase_schema.sql +18 -18
  117. package/server/web-chat/core/connection.js +179 -218
  118. package/server/web-chat/core/conversationContext.js +9 -2
  119. package/server/web-chat/core/directCatalogEngine.js +52 -28
  120. package/server/web-chat/core/dramaKnowledge.js +33 -22
  121. package/server/web-chat/core/followUpEngine.js +735 -81
  122. package/server/web-chat/core/futureEventGuard.js +5 -1
  123. package/server/web-chat/core/musicControlAction.js +70 -0
  124. package/server/web-chat/core/security.js +32 -21
  125. package/server/web-chat/core/toolInspector.js +6 -6
  126. package/server/web-chat/core/urlGuard.js +45 -0
  127. package/server/web-chat/router.js +204 -157
  128. package/server/web-chat/routes/chatRoute.js +885 -488
  129. package/server/web-chat/routes/engineRoute.js +270 -0
  130. package/server/web-chat/routes/exportRoute.js +1 -1
  131. package/server/web-chat/routes/lanDiscoveryRoute.js +17 -2
  132. package/server/web-chat/routes/lmStudioLoadRoute.js +172 -0
  133. package/server/web-chat/routes/mcpRoute.js +386 -0
  134. package/server/web-chat/routes/memoryRoute.js +253 -0
  135. package/server/web-chat/routes/providerRoute.js +49 -16
  136. package/server/web-chat/routes/staticRoute.js +306 -17
  137. package/server/web-chat/routes/statusRoute.js +194 -73
  138. package/server/web-chat/routes/suggestRoute.js +11 -3
  139. package/server/web-chat/routes/verifyRoute.js +26 -4
  140. package/server/web-chat/server.js +7 -6
  141. package/server/web-chat/ui/docsBuilder.js +3558 -0
  142. package/server/web-chat/ui/htmlBuilder.js +12 -0
  143. package/server/web-chat/ui/scripts/client.js +3401 -1302
  144. package/server/web-chat/ui/scripts/webchatI18n.js +155 -153
  145. package/server/web-chat/ui/settingsBuilder.js +7870 -0
  146. package/server/web-chat/ui/styles/lan-card.css +165 -0
  147. package/server/web-chat/ui/styles/main.css +4289 -447
  148. package/server/web-chat/ui/sw.js +64 -0
  149. package/server/web-chat/ui/templates/body.html +407 -281
  150. package/src/data/awardsData.js +146 -146
  151. package/src/data/musicVideoData.js +6 -4
  152. package/src/lib/vram/estimator.js +195 -19
@@ -0,0 +1,165 @@
1
+ .lan-card {
2
+ position: relative;
3
+ background: var(--lan-card-bg, linear-gradient(135deg, rgba(14, 23, 42, 0.78), rgba(15, 23, 42, 0.92))) !important;
4
+ backdrop-filter: blur(24px);
5
+ -webkit-backdrop-filter: blur(24px);
6
+ border: 1px solid rgba(56, 189, 248, 0.22) !important;
7
+ border-radius: 20px;
8
+ padding: 24px;
9
+ box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08);
10
+ transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
11
+ overflow: hidden;
12
+ }
13
+
14
+ .lan-card::before {
15
+ content: '';
16
+ position: absolute;
17
+ top: -120px;
18
+ right: -80px;
19
+ width: 340px;
20
+ height: 340px;
21
+ background: radial-gradient(circle, rgba(56, 189, 248, 0.14) 0%, rgba(168, 85, 247, 0.06) 50%, transparent 70%);
22
+ pointer-events: none;
23
+ border-radius: 50%;
24
+ }
25
+
26
+ .lan-card:hover {
27
+ border-color: rgba(56, 189, 248, 0.45) !important;
28
+ box-shadow: 0 20px 48px rgba(0, 0, 0, 0.42), 0 0 24px rgba(56, 189, 248, 0.16);
29
+ }
30
+
31
+ [data-theme="light"] .lan-card {
32
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 249, 255, 0.9)) !important;
33
+ border: 1px solid rgba(2, 132, 199, 0.22) !important;
34
+ box-shadow: 0 12px 36px rgba(2, 132, 199, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.95);
35
+ }
36
+
37
+ [data-theme="light"] .lan-card:hover {
38
+ border-color: rgba(2, 132, 199, 0.45) !important;
39
+ box-shadow: 0 16px 42px rgba(2, 132, 199, 0.14);
40
+ }
41
+
42
+ .lan-header-badge {
43
+ display: inline-flex;
44
+ align-items: center;
45
+ gap: 7px;
46
+ padding: 5px 12px;
47
+ border-radius: 999px;
48
+ font-size: 11.5px;
49
+ font-weight: 700;
50
+ letter-spacing: 0.02em;
51
+ background: rgba(56, 189, 248, 0.1);
52
+ border: 1px solid rgba(56, 189, 248, 0.28);
53
+ color: var(--accent-cyan);
54
+ box-shadow: 0 2px 8px rgba(56, 189, 248, 0.12);
55
+ white-space: nowrap;
56
+ }
57
+
58
+ .lan-status-dot {
59
+ width: 7px;
60
+ height: 7px;
61
+ border-radius: 50%;
62
+ background: #34d399;
63
+ box-shadow: 0 0 8px #34d399;
64
+ animation: lanBeaconPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
65
+ }
66
+
67
+ @keyframes lanBeaconPulse {
68
+ 0%, 100% { opacity: 1; transform: scale(1); }
69
+ 50% { opacity: 0.35; transform: scale(0.85); }
70
+ }
71
+
72
+ .lan-controls-grid {
73
+ display: grid;
74
+ grid-template-columns: repeat(12, 1fr);
75
+ gap: 16px;
76
+ }
77
+
78
+ .lan-presets-row {
79
+ display: flex;
80
+ flex-wrap: wrap;
81
+ align-items: center;
82
+ gap: 6px;
83
+ margin-top: 8px;
84
+ }
85
+
86
+ .lan-preset-chip {
87
+ display: inline-flex;
88
+ align-items: center;
89
+ gap: 4px;
90
+ padding: 3px 9px;
91
+ font-size: 11px;
92
+ font-weight: 600;
93
+ font-family: 'JetBrains Mono', monospace;
94
+ color: var(--text-muted);
95
+ background: rgba(255, 255, 255, 0.04);
96
+ border: 1px solid var(--border-subtle);
97
+ border-radius: 6px;
98
+ cursor: pointer;
99
+ transition: all 0.18s ease;
100
+ user-select: none;
101
+ }
102
+
103
+ .lan-preset-chip:hover {
104
+ color: var(--accent-cyan);
105
+ border-color: rgba(56, 189, 248, 0.4);
106
+ background: rgba(56, 189, 248, 0.08);
107
+ transform: translateY(-1px);
108
+ }
109
+
110
+ .btn-lan-scan-primary {
111
+ width: 100%;
112
+ height: 44px;
113
+ display: inline-flex;
114
+ align-items: center;
115
+ justify-content: center;
116
+ gap: 9px;
117
+ padding: 0 20px;
118
+ font-size: 13.5px;
119
+ font-weight: 700;
120
+ border-radius: 12px;
121
+ color: #ffffff;
122
+ background: linear-gradient(135deg, #0284c7 0%, #38bdf8 100%);
123
+ border: 1px solid rgba(255, 255, 255, 0.2);
124
+ box-shadow: 0 4px 18px rgba(2, 132, 199, 0.35);
125
+ cursor: pointer;
126
+ transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
127
+ }
128
+
129
+ .btn-lan-scan-primary:hover:not(:disabled) {
130
+ transform: translateY(-1px);
131
+ box-shadow: 0 6px 24px rgba(2, 132, 199, 0.5);
132
+ background: linear-gradient(135deg, #0369a1 0%, #0ea5e9 100%);
133
+ }
134
+
135
+ .btn-lan-scan-primary:disabled {
136
+ opacity: 0.75;
137
+ cursor: not-allowed;
138
+ }
139
+
140
+ .lan-output-container {
141
+ margin-top: 18px;
142
+ font-size: 12.5px;
143
+ max-height: 280px;
144
+ overflow-y: auto;
145
+ border-radius: 14px;
146
+ }
147
+
148
+ .lan-empty-state {
149
+ padding: 24px 20px;
150
+ border: 1px dashed rgba(56, 189, 248, 0.25);
151
+ border-radius: 14px;
152
+ background: rgba(56, 189, 248, 0.03);
153
+ display: flex;
154
+ flex-direction: column;
155
+ align-items: center;
156
+ text-align: center;
157
+ gap: 10px;
158
+ }
159
+
160
+ @keyframes spin { to { transform: rotate(360deg); } }
161
+
162
+ @media (max-width: 640px) {
163
+ .lan-controls-grid { grid-template-columns: 1fr; }
164
+ .lan-controls-grid > div { grid-column: span 12 !important; }
165
+ }