Commit graph

75 commits

Author SHA1 Message Date
elpresidank
fe4f5777c9 Make text completion provider layers effectful 2026-06-02 05:09:15 -05:00
elpresidank
36f629b341 Wrap client streaming callbacks in Effect 2026-06-02 04:54:33 -05:00
elpresidank
d93b0adda8 Wrap client socket close in Effect 2026-06-02 04:47:55 -05:00
elpresidank
461b04d064 Tap client RPC acquisition causes 2026-06-02 04:45:44 -05:00
elpresidank
f7f29c4df9 Handle gateway RPC socket causes in Effect 2026-06-02 04:42:32 -05:00
elpresidank
b922426b56 Stream request response replies from queues 2026-06-02 04:38:37 -05:00
elpresidank
32fc7ea32d Share text completion stream helpers 2026-06-02 04:33:48 -05:00
elpresidank
9d3f745fb0 Make Ollama embeddings layer effectful 2026-06-02 04:24:14 -05:00
elpresidank
32788ec0e4 Normalize client stream envelopes 2026-06-02 04:18:11 -05:00
elpresidank
8287e1cf93 Add fakeable Qdrant Effect services 2026-06-02 04:10:03 -05:00
elpresidank
d38ce475fd Scope FalkorDB triples clients 2026-06-02 03:55:39 -05:00
elpresidank
ce5838db1d Add Effect-native gateway streaming path 2026-06-02 03:43:21 -05:00
elpresidank
df0a0c068e Remove legacy subscriber fanout 2026-06-02 03:27:15 -05:00
elpresidank
44110c5bb4 Add typed flow spec accessors 2026-06-02 03:23:23 -05:00
elpresidank
abb6f3aed0 Add schema-backed parameter spec accessors 2026-06-02 03:10:43 -05:00
elpresidank
b51dc33786 Narrow provider status errors with Predicate 2026-06-02 03:00:52 -05:00
elpresidank
b3aaa9a4af Simplify text completion generator boundary 2026-06-02 02:58:19 -05:00
elpresidank
bfb5494552 Remove provider stream sentinel assertions 2026-06-02 02:55:06 -05:00
elpresidank
3070ce2b47 Decode flow definitions with schema 2026-06-02 02:49:42 -05:00
elpresidank
4ec7e72532 Use managed runtimes for base processor facades 2026-06-02 02:45:11 -05:00
elpresidank
74955d6041 Use native runtimes for flow entrypoints 2026-06-02 02:34:03 -05:00
elpresidank
1899bf1f5a Use tagged socket errors in client API 2026-06-02 02:19:37 -05:00
elpresidank
da23ac0657 Model websocket adapter failures with tagged errors 2026-06-02 02:15:22 -05:00
elpresidank
74ba05703a Manage client RPC runtime with Effect 2026-06-02 02:09:45 -05:00
elpresidank
710656be26 Move librarian state into synchronized refs 2026-06-02 01:59:51 -05:00
elpresidank
5f783832e9 Type librarian service runtime loop 2026-06-02 01:47:15 -05:00
elpresidank
e6384e65b9 Replace librarian throw helpers with Effect failures 2026-06-02 01:39:04 -05:00
elpresidank
459347ad12 Model librarian upload schema boundaries 2026-06-02 01:34:46 -05:00
elpresidank
3809a38c46 Migrate flow manager to ref-backed Effect state 2026-06-02 01:26:40 -05:00
elpresidank
ba64fc5add Normalize flow service runtime entrypoints 2026-06-02 01:13:40 -05:00
elpresidank
0da0df81c4 Migrate knowledge core service to ref-backed Effect state 2026-06-02 01:07:12 -05:00
elpresidank
5979d38b99 Remove RAG requestor Promise bridges 2026-06-02 00:54:47 -05:00
elpresidank
88db18fbda Migrate config service to ref-backed Effect runtime 2026-06-02 00:40:44 -05:00
elpresidank
b4ee2b691f Migrate strict Effect runtime surfaces 2026-06-02 00:22:04 -05:00
elpresidank
f6878d4dd7 Enforce strict Effect tsgo migrations 2026-06-01 23:19:54 -05:00
elpresidank
64fb23e7d0 Make gateway dispatcher requestors Effect-scoped 2026-06-01 22:17:50 -05:00
elpresidank
a0d2575273 Migrate request-response facade to Effect runtime 2026-06-01 22:11:03 -05:00
elpresidank
b58e51bf75 Update Effect packages to beta 75 2026-06-01 21:16:38 -05:00
elpresidank
dca2786828 Remove native classes from TS runtime 2026-06-01 20:26:47 -05:00
elpresidank
952daf325d Stabilize TS workbench QA and RPC timeouts 2026-06-01 17:23:34 -05:00
elpresidank
3515106670 Advance TS port Effect workbench 2026-06-01 16:22:25 -05:00
elpresidank
5776171d27 saving 2026-05-30 09:56:23 -05:00
elpresidank
ffd97375a8 saving 2026-05-12 08:06:58 -05:00
elpresidank
a20dd1999c saving 2026-05-11 19:44:40 -05:00
elpresidank
6ac5446a76 feat(mcp-tool): wire McpToolService into deploy stack
Three pieces, all required for an end-to-end MCP tool call:

* McpToolService used generic spec names "request"/"response" instead of
  "mcp-tool-request"/"mcp-tool-response", so RequestResponseSpec's
  flow-config topic lookup never matched and consumers bound to literal
  subjects nobody else publishes to.

* Add entrypoints/mcp-tool.mjs (mirrors agent/librarian entrypoints) so
  the service can be launched in the prebuilt trustgraph-ts image.

* Add a `mcp-tool` service block to deploy/docker-compose.yml.

With these three fixes plus a `mcp-tool-request`/`mcp-tool-response`
entry in each flow's topics map, the agent ReAct loop can now invoke
remote MCP tools (verified end-to-end against Brave Search and FireCrawl).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 22:16:37 -05:00
elpresidank
4c356cd24c fix(client): use correct put/delete config wire shape
ConfigApi.putConfig and deleteConfig (and the duplicate in FlowsApi) sent
a flat values:[{type,key,value}] array and a keys:{type,key} object —
neither matches the ConfigService schema, which requires keys:[namespace,
...innerKeys] and values:Record<string,unknown>. Every save in the
workbench /mcp-tools page returned `Put requires at least one key
(namespace)`.

putConfig now groups items by type (namespace) and issues one put per
group; deleteConfig sends keys:[type, key].

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 22:16:28 -05:00
elpresidank
ee45cb4850 feat: fix RAG pipelines, Beep Graph branding, PWA, and ambient glow UI
Pipeline fixes:
- Fix agent getting empty response from graph-rag by combining answer +
  explain data in single message (RequestResponse returns first msg)
- Fix Doc RAG pipeline: add content field to Qdrant doc payload, seed 10
  document chunks, fix type mismatches across base/flow/client
- Forward explainability events from agent's KnowledgeQuery to client
- Add "agent" to TERM_BEARING_RESPONSE_SERVICES for triple translation
- Fix embeddings env var (OLLAMA_URL), user/collection threading, edge
  scoring threshold, and various protocol mismatches

Branding:
- Rename TrustGraph → Beep Graph (title, sidebar, settings, about)
- Custom lambda + ThugLife pixel glasses SVG logo component
- Forest green color palette (brand-50 through brand-900)
- SVG favicon + PNG icons (16/32/180/192/512)
- PWA manifest with service worker for offline shell caching
- Splash screen with animated logo pulse on app load
- Ambient glow background with drifting green radial blobs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 10:19:10 -05:00
elpresidank
87f6e5eb05 feat: chat message actions, explainability graphs, and graph query filters
Add chat UX improvements: message actions toolbar (copy/delete/regenerate)
on hover, inline explainability subgraph visualization from RAG/agent
queries, and token metadata for all chat modes. Enhance graph page with
SPO query filters, configurable triple limit, and type legend overlay.
Extract shared graph utilities for reuse across components.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 02:55:46 -05:00
elpresidank
d5dd15be72 feat: MCP Tools management UI with QA accessibility fixes
Add dedicated /mcp-tools page for managing MCP servers and tools from the
workbench. Includes CRUD dialogs, config API integration, and feature flag
gating via mcpTools switch. QA pass also fixes accessibility across existing
pages: aria-expanded on chat phase blocks, tabpanel tabindex on prompts,
toggle contrast ratio (WCAG 2.1 SC 1.4.11) on settings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 00:59:20 -05:00
elpresidank
338adf8668 fix: global focus-visible rings and light-mode border contrast
- Add global focus-visible outline for buttons, switches, selects, and
  inputs so all interactive elements show a visible brand-500 ring on
  keyboard focus (not just NavLinks and dialog close)
- Darken light-mode --color-border from #e4e4e7 to #d4d4d8 so input
  borders, dividers, and mode selector outlines are visible on white

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 23:28:38 -05:00