@schlessera/brain-ui-server 0.30.0 → 0.30.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.
|
@@ -58,6 +58,12 @@ export interface WebSearchConfigView {
|
|
|
58
58
|
* UI offers to clear it; until then the chain is not what runs.
|
|
59
59
|
*/
|
|
60
60
|
overriddenBy: string | null;
|
|
61
|
+
/**
|
|
62
|
+
* Labels of the models these providers actually reach — the pi profiles.
|
|
63
|
+
* Claude models use the Agent SDK's own Anthropic-hosted WebSearch, which
|
|
64
|
+
* has no provider setting, so the card has to say who it is talking about.
|
|
65
|
+
*/
|
|
66
|
+
appliesTo: string[];
|
|
61
67
|
providers: WebSearchProviderView[];
|
|
62
68
|
}
|
|
63
69
|
export interface WebSearchRoutesDeps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../src/routes/web-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,aAAa,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,UAAU,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,WAAW,CAAC;IACnB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD;AAmCD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../src/routes/web-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,WAAW,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,aAAa,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,UAAU,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;OAIG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,WAAW,CAAC;IACnB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD;AAmCD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CA4LrE"}
|
|
@@ -31,7 +31,7 @@ import { dirname } from "path";
|
|
|
31
31
|
import { Hono } from "hono";
|
|
32
32
|
import { WEB_SEARCH_FALLBACK_ON, WEB_SEARCH_PROVIDER_KEYS, WEB_SEARCH_PROVIDERS, hasWebSearchCredential, readWebSearchOverride, readWebSearchRouting, resolveWebSearchConfigPath, webSearchProvider, } from "@schlessera/brain-ui-sdk/server";
|
|
33
33
|
import { resolveWebSearchEnv } from "../config/env.js";
|
|
34
|
-
import { loadBackendModule } from "../agent/backend.js";
|
|
34
|
+
import { loadBackendModule, parsePiProfiles } from "../agent/backend.js";
|
|
35
35
|
function readConfig(path) {
|
|
36
36
|
if (!existsSync(path))
|
|
37
37
|
return {};
|
|
@@ -67,6 +67,19 @@ export function createWebSearchRoutes(deps) {
|
|
|
67
67
|
const env = deps.env ?? resolveWebSearchEnv();
|
|
68
68
|
const configPath = () => deps.configPath ?? resolveWebSearchConfigPath(env);
|
|
69
69
|
const piConfigured = () => Boolean(agent.piProfilesJson) || (agent.backend || "claude") === "pi";
|
|
70
|
+
/**
|
|
71
|
+
* The pi models in the picker. Malformed config cannot reach here —
|
|
72
|
+
* createApp refuses to boot on it — but a throw would take the whole
|
|
73
|
+
* settings card down over a label, so it degrades to an empty list.
|
|
74
|
+
*/
|
|
75
|
+
const appliesTo = () => {
|
|
76
|
+
try {
|
|
77
|
+
return parsePiProfiles(agent.piProfilesJson ?? null, agent.profilesJson ?? null).map((p) => p.label);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
};
|
|
70
83
|
function view() {
|
|
71
84
|
const config = readConfig(configPath());
|
|
72
85
|
const override = readWebSearchOverride(config);
|
|
@@ -76,6 +89,7 @@ export function createWebSearchRoutes(deps) {
|
|
|
76
89
|
configured: true,
|
|
77
90
|
order,
|
|
78
91
|
overriddenBy: override,
|
|
92
|
+
appliesTo: appliesTo(),
|
|
79
93
|
providers: WEB_SEARCH_PROVIDERS.map((p) => ({
|
|
80
94
|
id: p.id,
|
|
81
95
|
label: p.label,
|
|
@@ -96,7 +110,7 @@ export function createWebSearchRoutes(deps) {
|
|
|
96
110
|
// Not-configured is a normal state, not an error: the client hides the
|
|
97
111
|
// whole card (same convention as /pi-auth/providers).
|
|
98
112
|
if (!piConfigured()) {
|
|
99
|
-
return c.json({ configured: false, order: [], overriddenBy: null, providers: [] });
|
|
113
|
+
return c.json({ configured: false, order: [], overriddenBy: null, appliesTo: [], providers: [] });
|
|
100
114
|
}
|
|
101
115
|
return c.json(view());
|
|
102
116
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../src/routes/web-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../src/routes/web-search.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schlessera/brain-ui-server",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.1",
|
|
4
4
|
"description": "brain-kit chat-UI server: Hono app factory, WebSocket turn coordinator, auth (password/passkeys/tailscale/proxy), session catalog, and brain/files/voice routes",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@opentelemetry/api": "^1.9.1",
|
|
53
53
|
"@opentelemetry/api-logs": "0.221.0",
|
|
54
|
-
"@schlessera/brain-render-template": "0.30.
|
|
55
|
-
"@schlessera/brain-ui-sdk": "0.30.
|
|
54
|
+
"@schlessera/brain-render-template": "0.30.1",
|
|
55
|
+
"@schlessera/brain-ui-sdk": "0.30.1",
|
|
56
56
|
"@simplewebauthn/server": "^13.3.2",
|
|
57
57
|
"fflate": "^0.8.2",
|
|
58
58
|
"gray-matter": "^4.0.3",
|
package/src/routes/web-search.ts
CHANGED
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
} from "@schlessera/brain-ui-sdk/server";
|
|
43
43
|
import type { AgentConfig } from "../config/env.js";
|
|
44
44
|
import { resolveWebSearchEnv } from "../config/env.js";
|
|
45
|
-
import { loadBackendModule } from "../agent/backend.js";
|
|
45
|
+
import { loadBackendModule, parsePiProfiles } from "../agent/backend.js";
|
|
46
46
|
|
|
47
47
|
/** One toggleable provider, as the Settings UI renders it. */
|
|
48
48
|
export interface WebSearchProviderView {
|
|
@@ -75,6 +75,12 @@ export interface WebSearchConfigView {
|
|
|
75
75
|
* UI offers to clear it; until then the chain is not what runs.
|
|
76
76
|
*/
|
|
77
77
|
overriddenBy: string | null;
|
|
78
|
+
/**
|
|
79
|
+
* Labels of the models these providers actually reach — the pi profiles.
|
|
80
|
+
* Claude models use the Agent SDK's own Anthropic-hosted WebSearch, which
|
|
81
|
+
* has no provider setting, so the card has to say who it is talking about.
|
|
82
|
+
*/
|
|
83
|
+
appliesTo: string[];
|
|
78
84
|
providers: WebSearchProviderView[];
|
|
79
85
|
}
|
|
80
86
|
|
|
@@ -129,6 +135,21 @@ export function createWebSearchRoutes(deps: WebSearchRoutesDeps): Hono {
|
|
|
129
135
|
const piConfigured = () =>
|
|
130
136
|
Boolean(agent.piProfilesJson) || (agent.backend || "claude") === "pi";
|
|
131
137
|
|
|
138
|
+
/**
|
|
139
|
+
* The pi models in the picker. Malformed config cannot reach here —
|
|
140
|
+
* createApp refuses to boot on it — but a throw would take the whole
|
|
141
|
+
* settings card down over a label, so it degrades to an empty list.
|
|
142
|
+
*/
|
|
143
|
+
const appliesTo = (): string[] => {
|
|
144
|
+
try {
|
|
145
|
+
return parsePiProfiles(agent.piProfilesJson ?? null, agent.profilesJson ?? null).map(
|
|
146
|
+
(p) => p.label
|
|
147
|
+
);
|
|
148
|
+
} catch {
|
|
149
|
+
return [];
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
|
|
132
153
|
function view(): WebSearchConfigView {
|
|
133
154
|
const config = readConfig(configPath());
|
|
134
155
|
const override = readWebSearchOverride(config);
|
|
@@ -138,6 +159,7 @@ export function createWebSearchRoutes(deps: WebSearchRoutesDeps): Hono {
|
|
|
138
159
|
configured: true,
|
|
139
160
|
order,
|
|
140
161
|
overriddenBy: override,
|
|
162
|
+
appliesTo: appliesTo(),
|
|
141
163
|
providers: WEB_SEARCH_PROVIDERS.map((p) => ({
|
|
142
164
|
id: p.id,
|
|
143
165
|
label: p.label,
|
|
@@ -160,7 +182,7 @@ export function createWebSearchRoutes(deps: WebSearchRoutesDeps): Hono {
|
|
|
160
182
|
// Not-configured is a normal state, not an error: the client hides the
|
|
161
183
|
// whole card (same convention as /pi-auth/providers).
|
|
162
184
|
if (!piConfigured()) {
|
|
163
|
-
return c.json({ configured: false, order: [], overriddenBy: null, providers: [] });
|
|
185
|
+
return c.json({ configured: false, order: [], overriddenBy: null, appliesTo: [], providers: [] });
|
|
164
186
|
}
|
|
165
187
|
return c.json(view());
|
|
166
188
|
})
|