@schlessera/brain-ui-server 0.13.1 → 0.14.0

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 (182) hide show
  1. package/README.md +51 -12
  2. package/dist/agent/backend.d.ts +163 -37
  3. package/dist/agent/backend.d.ts.map +1 -1
  4. package/dist/agent/backend.js +281 -286
  5. package/dist/agent/backend.js.map +1 -1
  6. package/dist/app.d.ts +46 -5
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +94 -35
  9. package/dist/app.js.map +1 -1
  10. package/dist/brain/client.d.ts +41 -30
  11. package/dist/brain/client.d.ts.map +1 -1
  12. package/dist/brain/client.js +138 -132
  13. package/dist/brain/client.js.map +1 -1
  14. package/dist/config/env.d.ts +104 -0
  15. package/dist/config/env.d.ts.map +1 -0
  16. package/dist/config/env.js +296 -0
  17. package/dist/config/env.js.map +1 -0
  18. package/dist/cron/scheduler.d.ts +16 -8
  19. package/dist/cron/scheduler.d.ts.map +1 -1
  20. package/dist/cron/scheduler.js +54 -53
  21. package/dist/cron/scheduler.js.map +1 -1
  22. package/dist/db/brain-db.d.ts +50 -0
  23. package/dist/db/brain-db.d.ts.map +1 -0
  24. package/dist/db/brain-db.js +75 -0
  25. package/dist/db/brain-db.js.map +1 -0
  26. package/dist/db/client.d.ts +8 -6
  27. package/dist/db/client.d.ts.map +1 -1
  28. package/dist/db/client.js +12 -25
  29. package/dist/db/client.js.map +1 -1
  30. package/dist/db/settings.d.ts +5 -4
  31. package/dist/db/settings.d.ts.map +1 -1
  32. package/dist/db/settings.js +9 -12
  33. package/dist/db/settings.js.map +1 -1
  34. package/dist/files/walker.d.ts +6 -7
  35. package/dist/files/walker.d.ts.map +1 -1
  36. package/dist/files/walker.js +6 -9
  37. package/dist/files/walker.js.map +1 -1
  38. package/dist/graph/reader.d.ts +6 -6
  39. package/dist/graph/reader.d.ts.map +1 -1
  40. package/dist/graph/reader.js +22 -12
  41. package/dist/graph/reader.js.map +1 -1
  42. package/dist/index.d.ts +15 -9
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +20 -10
  45. package/dist/index.js.map +1 -1
  46. package/dist/middleware/auth.d.ts +17 -6
  47. package/dist/middleware/auth.d.ts.map +1 -1
  48. package/dist/middleware/auth.js +34 -43
  49. package/dist/middleware/auth.js.map +1 -1
  50. package/dist/middleware/origin.d.ts +1 -2
  51. package/dist/middleware/origin.d.ts.map +1 -1
  52. package/dist/middleware/origin.js +1 -7
  53. package/dist/middleware/origin.js.map +1 -1
  54. package/dist/middleware/passkeys.d.ts +29 -5
  55. package/dist/middleware/passkeys.d.ts.map +1 -1
  56. package/dist/middleware/passkeys.js +47 -76
  57. package/dist/middleware/passkeys.js.map +1 -1
  58. package/dist/middleware/tailscale.d.ts +14 -11
  59. package/dist/middleware/tailscale.d.ts.map +1 -1
  60. package/dist/middleware/tailscale.js +11 -10
  61. package/dist/middleware/tailscale.js.map +1 -1
  62. package/dist/routes/brain.d.ts +9 -154
  63. package/dist/routes/brain.d.ts.map +1 -1
  64. package/dist/routes/brain.js +187 -188
  65. package/dist/routes/brain.js.map +1 -1
  66. package/dist/routes/files.d.ts +4 -88
  67. package/dist/routes/files.d.ts.map +1 -1
  68. package/dist/routes/files.js +74 -71
  69. package/dist/routes/files.js.map +1 -1
  70. package/dist/routes/graph.d.ts +4 -255
  71. package/dist/routes/graph.d.ts.map +1 -1
  72. package/dist/routes/graph.js +67 -64
  73. package/dist/routes/graph.js.map +1 -1
  74. package/dist/routes/health.d.ts +8 -22
  75. package/dist/routes/health.d.ts.map +1 -1
  76. package/dist/routes/health.js +10 -10
  77. package/dist/routes/health.js.map +1 -1
  78. package/dist/routes/models.d.ts +7 -90
  79. package/dist/routes/models.d.ts.map +1 -1
  80. package/dist/routes/models.js +53 -51
  81. package/dist/routes/models.js.map +1 -1
  82. package/dist/routes/providers.d.ts +5 -34
  83. package/dist/routes/providers.d.ts.map +1 -1
  84. package/dist/routes/providers.js +13 -11
  85. package/dist/routes/providers.js.map +1 -1
  86. package/dist/routes/sessions.d.ts +7 -78
  87. package/dist/routes/sessions.d.ts.map +1 -1
  88. package/dist/routes/sessions.js +35 -34
  89. package/dist/routes/sessions.js.map +1 -1
  90. package/dist/routes/share.d.ts +7 -60
  91. package/dist/routes/share.d.ts.map +1 -1
  92. package/dist/routes/share.js +80 -77
  93. package/dist/routes/share.js.map +1 -1
  94. package/dist/routes/voice.d.ts +8 -91
  95. package/dist/routes/voice.d.ts.map +1 -1
  96. package/dist/routes/voice.js +62 -59
  97. package/dist/routes/voice.js.map +1 -1
  98. package/dist/share/staging.d.ts +4 -4
  99. package/dist/share/staging.d.ts.map +1 -1
  100. package/dist/share/staging.js +7 -8
  101. package/dist/share/staging.js.map +1 -1
  102. package/dist/voice/deepgram-token.d.ts +1 -1
  103. package/dist/voice/deepgram-token.d.ts.map +1 -1
  104. package/dist/voice/deepgram-token.js +1 -2
  105. package/dist/voice/deepgram-token.js.map +1 -1
  106. package/dist/voice/keyterm-builder.d.ts +23 -8
  107. package/dist/voice/keyterm-builder.d.ts.map +1 -1
  108. package/dist/voice/keyterm-builder.js +67 -43
  109. package/dist/voice/keyterm-builder.js.map +1 -1
  110. package/dist/voice/speech-providers.d.ts +6 -4
  111. package/dist/voice/speech-providers.d.ts.map +1 -1
  112. package/dist/voice/speech-providers.js +28 -25
  113. package/dist/voice/speech-providers.js.map +1 -1
  114. package/dist/ws/bridge.d.ts.map +1 -1
  115. package/dist/ws/bridge.js +2 -3
  116. package/dist/ws/bridge.js.map +1 -1
  117. package/dist/ws/clients.d.ts +18 -10
  118. package/dist/ws/clients.d.ts.map +1 -1
  119. package/dist/ws/clients.js +35 -37
  120. package/dist/ws/clients.js.map +1 -1
  121. package/dist/ws/connection.d.ts.map +1 -1
  122. package/dist/ws/connection.js +5 -7
  123. package/dist/ws/connection.js.map +1 -1
  124. package/dist/ws/dispatch.d.ts.map +1 -1
  125. package/dist/ws/dispatch.js +1 -2
  126. package/dist/ws/dispatch.js.map +1 -1
  127. package/dist/ws/host.d.ts +16 -12
  128. package/dist/ws/host.d.ts.map +1 -1
  129. package/dist/ws/host.js +14 -23
  130. package/dist/ws/host.js.map +1 -1
  131. package/dist/ws/routing.d.ts +2 -1
  132. package/dist/ws/routing.d.ts.map +1 -1
  133. package/dist/ws/routing.js +5 -6
  134. package/dist/ws/routing.js.map +1 -1
  135. package/dist/ws/run-session.js +1 -1
  136. package/dist/ws/run-session.js.map +1 -1
  137. package/dist/ws/session-catalog.d.ts +2 -2
  138. package/dist/ws/session-catalog.d.ts.map +1 -1
  139. package/dist/ws/session-catalog.js +2 -3
  140. package/dist/ws/session-catalog.js.map +1 -1
  141. package/package.json +8 -5
  142. package/src/agent/backend.ts +509 -340
  143. package/src/app.ts +157 -36
  144. package/src/brain/client.ts +166 -143
  145. package/src/config/env.ts +401 -0
  146. package/src/cron/scheduler.ts +77 -59
  147. package/src/db/brain-db.ts +104 -0
  148. package/src/db/client.ts +12 -31
  149. package/src/db/settings.ts +12 -14
  150. package/src/files/walker.ts +6 -10
  151. package/src/graph/reader.ts +26 -15
  152. package/src/index.ts +56 -17
  153. package/src/middleware/auth.ts +51 -45
  154. package/src/middleware/origin.ts +1 -8
  155. package/src/middleware/passkeys.ts +72 -68
  156. package/src/middleware/tailscale.ts +22 -17
  157. package/src/routes/brain.ts +31 -30
  158. package/src/routes/files.ts +10 -7
  159. package/src/routes/graph.ts +9 -6
  160. package/src/routes/health.ts +17 -10
  161. package/src/routes/models.ts +19 -15
  162. package/src/routes/providers.ts +14 -15
  163. package/src/routes/sessions.ts +18 -11
  164. package/src/routes/share.ts +35 -24
  165. package/src/routes/voice.ts +78 -68
  166. package/src/share/staging.ts +10 -8
  167. package/src/voice/deepgram-token.ts +4 -2
  168. package/src/voice/keyterm-builder.ts +90 -56
  169. package/src/voice/speech-providers.ts +28 -24
  170. package/src/ws/bridge.ts +2 -3
  171. package/src/ws/clients.ts +38 -41
  172. package/src/ws/connection.ts +5 -7
  173. package/src/ws/dispatch.ts +1 -2
  174. package/src/ws/host.ts +24 -27
  175. package/src/ws/routing.ts +6 -10
  176. package/src/ws/run-session.ts +1 -1
  177. package/src/ws/session-catalog.ts +2 -3
  178. package/dist/ws/handler.d.ts +0 -34
  179. package/dist/ws/handler.d.ts.map +0 -1
  180. package/dist/ws/handler.js +0 -33
  181. package/dist/ws/handler.js.map +0 -1
  182. package/src/ws/handler.ts +0 -50
@@ -1,34 +0,0 @@
1
- /**
2
- * Composition root for the WebSocket side: one process-wide host instance
3
- * wired to the default SQLite session catalog and the backend registry. The
4
- * actual behavior lives in the focused modules next to this file —
5
- * turns/bridge/run-session/dispatch/connection — which all take the host
6
- * explicitly. createApp() configures this host from its options before
7
- * building the upgrade handler.
8
- */
9
- import type { ClientMessage } from "@schlessera/brain-ui-sdk/protocol";
10
- import type { WSContext } from "./clients.js";
11
- import { WsHost, type WsHostOptions } from "./host.js";
12
- import { websocket } from "./connection.js";
13
- export { websocket };
14
- export { WsHost, type WsHostOptions } from "./host.js";
15
- export { resolveTurnTarget } from "./routing.js";
16
- export { validateAttachments, estimateDecodedBase64Bytes } from "./attachments.js";
17
- export { createSessionCatalog, type SessionCatalog } from "./session-catalog.js";
18
- /** The process-default host. */
19
- export declare const defaultWsHost: WsHost;
20
- /** Apply embedder options to the default host (called by createApp). */
21
- export declare function configureWsHost(options: WsHostOptions): void;
22
- /** Hono upgrade handler bound to the default host. */
23
- export declare const wsUpgrade: import("hono").MiddlewareHandler<any, string, {
24
- outputFormat: "ws";
25
- }>;
26
- /** True while any session has a running turn. */
27
- export declare function isTurnActive(): boolean;
28
- /** Cancel every running turn (used on shutdown). */
29
- export declare function cancelActiveTurn(): boolean;
30
- /** Drive a client message against the default host (also the test seam). */
31
- export declare function handleClientMessage(ws: WSContext, msg: ClientMessage): Promise<void>;
32
- /** Test seam: clear all turn/pending state on the default host. */
33
- export declare function resetForTests(): void;
34
- //# sourceMappingURL=handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/ws/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEjF,gCAAgC;AAChC,eAAO,MAAM,aAAa,QAAe,CAAC;AAE1C,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE5D;AAED,sDAAsD;AACtD,eAAO,MAAM,SAAS;;EAAiC,CAAC;AAExD,iDAAiD;AACjD,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,4EAA4E;AAC5E,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;AAED,mEAAmE;AACnE,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
@@ -1,33 +0,0 @@
1
- import { WsHost } from "./host.js";
2
- import { createWsUpgrade, websocket } from "./connection.js";
3
- import { handleClientMessage as dispatchClientMessage } from "./dispatch.js";
4
- export { websocket };
5
- export { WsHost } from "./host.js";
6
- export { resolveTurnTarget } from "./routing.js";
7
- export { validateAttachments, estimateDecodedBase64Bytes } from "./attachments.js";
8
- export { createSessionCatalog } from "./session-catalog.js";
9
- /** The process-default host. */
10
- export const defaultWsHost = new WsHost();
11
- /** Apply embedder options to the default host (called by createApp). */
12
- export function configureWsHost(options) {
13
- defaultWsHost.configure(options);
14
- }
15
- /** Hono upgrade handler bound to the default host. */
16
- export const wsUpgrade = createWsUpgrade(defaultWsHost);
17
- /** True while any session has a running turn. */
18
- export function isTurnActive() {
19
- return defaultWsHost.coordinator.isTurnActive();
20
- }
21
- /** Cancel every running turn (used on shutdown). */
22
- export function cancelActiveTurn() {
23
- return defaultWsHost.coordinator.cancelAll("Server shutting down");
24
- }
25
- /** Drive a client message against the default host (also the test seam). */
26
- export async function handleClientMessage(ws, msg) {
27
- return dispatchClientMessage(defaultWsHost, ws, msg);
28
- }
29
- /** Test seam: clear all turn/pending state on the default host. */
30
- export function resetForTests() {
31
- defaultWsHost.coordinator.reset();
32
- }
33
- //# sourceMappingURL=handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/ws/handler.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAsB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,MAAM,EAAsB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAuB,MAAM,sBAAsB,CAAC;AAEjF,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,MAAM,EAAE,CAAC;AAE1C,wEAAwE;AACxE,MAAM,UAAU,eAAe,CAAC,OAAsB;IACpD,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;AAExD,iDAAiD;AACjD,MAAM,UAAU,YAAY;IAC1B,OAAO,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;AAClD,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;AACrE,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAa,EAAE,GAAkB;IACzE,OAAO,qBAAqB,CAAC,aAAa,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,aAAa;IAC3B,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AACpC,CAAC"}
package/src/ws/handler.ts DELETED
@@ -1,50 +0,0 @@
1
- /**
2
- * Composition root for the WebSocket side: one process-wide host instance
3
- * wired to the default SQLite session catalog and the backend registry. The
4
- * actual behavior lives in the focused modules next to this file —
5
- * turns/bridge/run-session/dispatch/connection — which all take the host
6
- * explicitly. createApp() configures this host from its options before
7
- * building the upgrade handler.
8
- */
9
- import type { ClientMessage } from "@schlessera/brain-ui-sdk/protocol";
10
- import type { WSContext } from "./clients.js";
11
- import { WsHost, type WsHostOptions } from "./host.js";
12
- import { createWsUpgrade, websocket } from "./connection.js";
13
- import { handleClientMessage as dispatchClientMessage } from "./dispatch.js";
14
-
15
- export { websocket };
16
- export { WsHost, type WsHostOptions } from "./host.js";
17
- export { resolveTurnTarget } from "./routing.js";
18
- export { validateAttachments, estimateDecodedBase64Bytes } from "./attachments.js";
19
- export { createSessionCatalog, type SessionCatalog } from "./session-catalog.js";
20
-
21
- /** The process-default host. */
22
- export const defaultWsHost = new WsHost();
23
-
24
- /** Apply embedder options to the default host (called by createApp). */
25
- export function configureWsHost(options: WsHostOptions): void {
26
- defaultWsHost.configure(options);
27
- }
28
-
29
- /** Hono upgrade handler bound to the default host. */
30
- export const wsUpgrade = createWsUpgrade(defaultWsHost);
31
-
32
- /** True while any session has a running turn. */
33
- export function isTurnActive(): boolean {
34
- return defaultWsHost.coordinator.isTurnActive();
35
- }
36
-
37
- /** Cancel every running turn (used on shutdown). */
38
- export function cancelActiveTurn(): boolean {
39
- return defaultWsHost.coordinator.cancelAll("Server shutting down");
40
- }
41
-
42
- /** Drive a client message against the default host (also the test seam). */
43
- export async function handleClientMessage(ws: WSContext, msg: ClientMessage): Promise<void> {
44
- return dispatchClientMessage(defaultWsHost, ws, msg);
45
- }
46
-
47
- /** Test seam: clear all turn/pending state on the default host. */
48
- export function resetForTests(): void {
49
- defaultWsHost.coordinator.reset();
50
- }