@hydradb/mcp 1.3.0 → 1.4.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.
- package/CHANGELOG.md +30 -0
- package/README.md +33 -2
- package/dist/adapters.d.ts +3 -3
- package/dist/adapters.js.map +1 -1
- package/dist/descriptions.d.ts +19 -0
- package/dist/descriptions.js +52 -1
- package/dist/descriptions.js.map +1 -1
- package/dist/hydra/client.d.ts +178 -4
- package/dist/hydra/client.js +106 -6
- package/dist/hydra/client.js.map +1 -1
- package/dist/hydra/graph.d.ts +1 -5
- package/dist/hydra/graph.js +5 -92
- package/dist/hydra/graph.js.map +1 -1
- package/dist/hydra/index.d.ts +3 -1
- package/dist/hydra/index.js +1 -0
- package/dist/hydra/index.js.map +1 -1
- package/dist/hydra/transport.d.ts +37 -0
- package/dist/hydra/transport.js +114 -0
- package/dist/hydra/transport.js.map +1 -0
- package/dist/server.js +179 -1
- package/dist/server.js.map +1 -1
- package/dist/tool-names.d.ts +2 -1
- package/dist/tool-names.js +6 -0
- package/dist/tool-names.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.4.0] - 2026-09-01
|
|
11
|
+
|
|
12
|
+
### Added — `recency_bias`, `query_apps` and multi-collection scope on `hydradb_query`
|
|
13
|
+
|
|
14
|
+
Three retrieval controls the API accepts were unreachable through the MCP.
|
|
15
|
+
|
|
16
|
+
- `recency_bias` (0-1) was hardcoded to `0` with no override. That is still the
|
|
17
|
+
default, and the API's own, so ranking is unchanged for callers that do not
|
|
18
|
+
set it — but "where does this stand now" is a different question from "what
|
|
19
|
+
matches this", and it could not be asked. It re-ranks and never excludes, so
|
|
20
|
+
read the dates rather than trusting the top hit. Note that on
|
|
21
|
+
connector-ingested corpora it currently ranks by the date the API reports,
|
|
22
|
+
which is the ingest time rather than the content's own date (HydraDB
|
|
23
|
+
PRO-1832) — the knob is correct, the data behind it is not yet.
|
|
24
|
+
- `query_apps` enables app-aware retrieval over connector-ingested sources:
|
|
25
|
+
exact IDs and actors, thread reconstruction, and parent/child expansion. A
|
|
26
|
+
Jira comment without its issue, or a Slack reply without its thread, is
|
|
27
|
+
usually not an answer.
|
|
28
|
+
- `collections` scopes one query across several collections, as a list or a
|
|
29
|
+
`{collection: weight}` object. It replaces the singular `collection` for that
|
|
30
|
+
request rather than joining it: Hydra DB refuses a request carrying both
|
|
31
|
+
selectors, so passing both is rejected here instead of failing on the wire,
|
|
32
|
+
and the configured default collection is not injected alongside it. OAuth
|
|
33
|
+
confinement is enforced on every named collection, so a multi-scope selector
|
|
34
|
+
cannot reach past what a connection was confined to.
|
|
35
|
+
|
|
36
|
+
Temporal retrieval (`temporal_now` / `temporal_facts`) remains unreachable: the
|
|
37
|
+
fields are live in the API but absent from the OpenAPI spec, so `@hydradb/sdk`
|
|
38
|
+
does not generate them. Blocked on the spec, not on this server.
|
|
39
|
+
|
|
10
40
|
## [1.3.0] - 2026-08-28
|
|
11
41
|
|
|
12
42
|
### Added — OAuth resource server ("Sign in with HydraDB")
|
package/README.md
CHANGED
|
@@ -17,9 +17,10 @@ Run it two ways, same tools either way:
|
|
|
17
17
|
| `hydradb_inspect` | Fetch one source's full content by id |
|
|
18
18
|
| `hydradb_delete` | Remove one or more items by id, irreversibly |
|
|
19
19
|
| `hydradb_status` | Check whether an ingested source has finished indexing |
|
|
20
|
+
| `hydradb_subgraph` | Everything connected to one item — its thread, replies, parents, children, links |
|
|
20
21
|
|
|
21
|
-
Ids flow between these: `hydradb_query` and `
|
|
22
|
-
`hydradb_inspect`, `hydradb_delete` and `
|
|
22
|
+
Ids flow between these: `hydradb_query`, `hydradb_list` and `hydradb_subgraph` emit them;
|
|
23
|
+
`hydradb_inspect`, `hydradb_delete`, `hydradb_status` and `hydradb_subgraph` accept them.
|
|
23
24
|
|
|
24
25
|
### Graph tools (Cypher)
|
|
25
26
|
|
|
@@ -93,6 +94,9 @@ chunks with their source id, a relevance score, and knowledge-graph context.
|
|
|
93
94
|
| `source_ids` | array | No | Restrict the search to these sources |
|
|
94
95
|
| `metadata_filters` | object | No | Exact-match filters over stored metadata |
|
|
95
96
|
| `num_related_chunks` | number | No | Adjacent chunks to attach per match (0-5, default: 0) |
|
|
97
|
+
| `recency_bias` | number | No | Favour recently-updated sources when ranking, 0-1 (default: 0). Re-ranks only; it never excludes older sources |
|
|
98
|
+
| `query_apps` | boolean | No | App-aware retrieval over connector sources — exact IDs and actors, thread reconstruction, parent/child expansion (default: false) |
|
|
99
|
+
| `collections` | array | No | Search several collections at once. Pass either this or `collection`, never both |
|
|
96
100
|
|
|
97
101
|
### **hydradb_ingest**
|
|
98
102
|
|
|
@@ -149,6 +153,33 @@ Fetches one source's full content by id.
|
|
|
149
153
|
Long sources come back in slices, and binary sources are never inlined — you get
|
|
150
154
|
their type and size, and `mode: "url"` returns a download link.
|
|
151
155
|
|
|
156
|
+
### **hydradb_subgraph**
|
|
157
|
+
|
|
158
|
+
Returns the connected subgraph of one item: every item reachable from it through
|
|
159
|
+
item-level links — explicit relations declared at ingest, a shared thread,
|
|
160
|
+
parent/child hierarchy — traversed breadth-first. Use it when one result is not
|
|
161
|
+
enough and you need what surrounds it: the rest of a Slack thread, the replies
|
|
162
|
+
under a ticket, the documents a page links to.
|
|
163
|
+
|
|
164
|
+
| Parameter | Type | Required | Description |
|
|
165
|
+
|-----------|------|----------|-------------|
|
|
166
|
+
| `id` | string | Yes | The item to start from, from `hydradb_query` or `hydradb_list` |
|
|
167
|
+
| `kind` | string | No | `knowledge` (default) or `memory` — the two graphs are separate |
|
|
168
|
+
| `depth` | number | No | Hops to traverse (default 5, max 10) |
|
|
169
|
+
| `max_sources` | number | No | Cap on members returned (default 200, max 1000) |
|
|
170
|
+
| `database`, `collection` | string | No | Scope overrides |
|
|
171
|
+
|
|
172
|
+
Each member carries its id, title, depth from the start item and how it was
|
|
173
|
+
reached — `discovered_relation` is the mechanism (`same_thread`, `parent`,
|
|
174
|
+
`child`, or a `relates_to` type such as `reply_to`) and `discovered_via` the id
|
|
175
|
+
of the member it was reached from, so the list is also a tree.
|
|
176
|
+
`structuredContent` carries those same members, in the same order, plus
|
|
177
|
+
`relations`: the edges among them as `{from, to, type}`, so a client can rebuild
|
|
178
|
+
the graph and not just the list. `truncated` means `max_sources` clipped the
|
|
179
|
+
traversal; `structural_link_count` and `structural_truncated` report the
|
|
180
|
+
structural graph (entities, comments, attachments, actors) around the members.
|
|
181
|
+
Chunk-level entity relations are not included; those come from `hydradb_query`.
|
|
182
|
+
|
|
152
183
|
### **hydradb_delete**
|
|
153
184
|
|
|
154
185
|
Removes items by id. Irreversible.
|
package/dist/adapters.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { HydraDB as SDK } from "@hydradb/sdk";
|
|
11
11
|
import type { AddMemoryResponse } from "./types.js";
|
|
12
|
-
export declare function toAddMemoryResponse(data: SDK.
|
|
12
|
+
export declare function toAddMemoryResponse(data: SDK.IngestionV2IngestResponse): AddMemoryResponse;
|
|
13
13
|
export interface MemoryListItem {
|
|
14
14
|
memory_id: string;
|
|
15
15
|
memory_content: string;
|
|
@@ -33,7 +33,7 @@ export interface MemoryList {
|
|
|
33
33
|
page: PageInfo;
|
|
34
34
|
}
|
|
35
35
|
/** SDK list result → memory rows. Field names vary across v2 records, so read defensively. */
|
|
36
|
-
export declare function toMemoryList(data: SDK.
|
|
36
|
+
export declare function toMemoryList(data: SDK.ListV2ListResponse): MemoryList;
|
|
37
37
|
export interface SourceListItem {
|
|
38
38
|
id: string;
|
|
39
39
|
title?: string;
|
|
@@ -45,4 +45,4 @@ export interface SourceList {
|
|
|
45
45
|
page: PageInfo;
|
|
46
46
|
}
|
|
47
47
|
/** SDK list result → knowledge source rows + total. */
|
|
48
|
-
export declare function toSourceList(data: SDK.
|
|
48
|
+
export declare function toSourceList(data: SDK.ListV2ListResponse): SourceList;
|
package/dist/adapters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAC1B,
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/descriptions.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare const TOOL_DESCRIPTIONS: {
|
|
|
16
16
|
readonly title: "Query Hydra DB";
|
|
17
17
|
readonly description: "Search Hydra DB for anything the user has stored: memories (facts, preferences, decisions, past conversations) and ingested knowledge sources (documents, files, playbooks). Returns matching chunks with their source id, a relevance score, and knowledge-graph context — the entity paths and relations that connect facts across separate sources.\n\nCALL THIS BEFORE ANSWERING whenever the answer could depend on the user's history, preferences, prior decisions, project details, or a document they have ingested — including when you are merely unsure. A query that returns nothing costs one call; answering from a blank slate costs the user a correction.\n\nSearches both families by default. Every result carries `[id: …]` — pass it to hydradb_inspect for the full source, or to hydradb_delete to remove it.\n\nExamples:\n {\"query\": \"how does the user prefer code review feedback\"}\n {\"query\": \"postgres connection pooling decision\", \"kind\": \"knowledge\"}\n {\"query\": \"deploy checklist\", \"mode\": \"fast\", \"max_results\": 5}";
|
|
18
18
|
readonly params: {
|
|
19
|
+
readonly acl: "Principals to answer as, for permission-aware search (RBAC). Each entry is an email, a `domain:<host>`, or a `group:<provider>:<id>`; results are limited to documents whose access list admits at least one of them. Omit it to search everything this API key can reach. An EMPTY list is treated exactly like omitting it, so it is not a way to ask for \"nobody\" — to restrict, name real principals. Pass the principals of the end user you are answering for; a principal the deployment does not recognise fails closed, matching only documents that carry no access list of their own. This scopes results, it does not authenticate anyone: whoever holds the key can name any principal.";
|
|
19
20
|
readonly query: string;
|
|
20
21
|
readonly kind: string;
|
|
21
22
|
readonly max_results: string;
|
|
@@ -26,8 +27,11 @@ export declare const TOOL_DESCRIPTIONS: {
|
|
|
26
27
|
readonly source_ids: string;
|
|
27
28
|
readonly metadata_filters: string;
|
|
28
29
|
readonly num_related_chunks: string;
|
|
30
|
+
readonly recency_bias: string;
|
|
31
|
+
readonly query_apps: string;
|
|
29
32
|
readonly database: string;
|
|
30
33
|
readonly collection: string;
|
|
34
|
+
readonly collections: string;
|
|
31
35
|
};
|
|
32
36
|
};
|
|
33
37
|
readonly hydradb_ingest: {
|
|
@@ -53,6 +57,7 @@ export declare const TOOL_DESCRIPTIONS: {
|
|
|
53
57
|
readonly title: "List Hydra DB Context";
|
|
54
58
|
readonly description: "Enumerate what is stored in Hydra DB — every memory (kind: \"memory\") or every knowledge source (kind: \"knowledge\"). These are SEPARATE corpora and this tool returns one at a time: listing memories tells you nothing about which knowledge sources exist, and vice versa. Call it twice to see everything.\n\nUse it for inventory questions (\"what do you remember about me?\", \"which documents are indexed?\") and to obtain ids. For \"what do you know about X\", use hydradb_query instead — listing everything and reading it is far more expensive and loses relevance ranking.\n\nResults are paginated. The response says how many of the total it showed and how to reach the rest; do not treat the first page as the whole store.\n\nMemory rows come back as [id] content. Knowledge rows as [id] — title (type), with no content — pass an id to hydradb_inspect for the text.";
|
|
55
59
|
readonly params: {
|
|
60
|
+
readonly acl: "Principals to answer as, for permission-aware search (RBAC). Each entry is an email, a `domain:<host>`, or a `group:<provider>:<id>`; results are limited to documents whose access list admits at least one of them. Omit it to search everything this API key can reach. An EMPTY list is treated exactly like omitting it, so it is not a way to ask for \"nobody\" — to restrict, name real principals. Pass the principals of the end user you are answering for; a principal the deployment does not recognise fails closed, matching only documents that carry no access list of their own. This scopes results, it does not authenticate anyone: whoever holds the key can name any principal.";
|
|
56
61
|
readonly kind: string;
|
|
57
62
|
readonly source_ids: "Optional array of specific source IDs to filter by. If omitted, lists all sources.";
|
|
58
63
|
readonly page: string;
|
|
@@ -61,10 +66,24 @@ export declare const TOOL_DESCRIPTIONS: {
|
|
|
61
66
|
readonly collection: string;
|
|
62
67
|
};
|
|
63
68
|
};
|
|
69
|
+
readonly hydradb_subgraph: {
|
|
70
|
+
readonly title: "Hydra DB Connected Subgraph";
|
|
71
|
+
readonly description: "Return the connected subgraph of ONE stored item: every item reachable from it through item-level links — explicit relations declared at ingest, the thread it belongs to, and parent/child hierarchy — traversed breadth-first up to `depth` hops. Use it after hydradb_query or hydradb_list when a single result is not enough and you need what surrounds it: the rest of a Slack thread, the replies under a ticket, the documents a page links to.\n\nEach member carries its id, title, depth from the start item (0 is the item itself) and how it was reached: the mechanism (`same_thread`, `parent`, `child`, or a `relates_to` type such as `reply_to`) and the id of the member it was reached from, so the list is also a tree. Pass any member's id to hydradb_inspect for its full content. The response also lists the relations among the members and the structural graph around them — the entities, comments, attachments and people attached to each — but NOT the chunk-level entity relations hydradb_query returns; those are a different read.\n\nAn id nothing links to returns just that item. An unknown id returns an empty result, not an error. `is_truncated` means `max_sources` clipped the traversal; `max_depth_reached` says how far it got.\n\nRead-only; never changes anything.";
|
|
72
|
+
readonly params: {
|
|
73
|
+
readonly id: string;
|
|
74
|
+
readonly kind: "Which family the id belongs to: 'knowledge' (default) or 'memory'. The two graphs are separate.";
|
|
75
|
+
readonly depth: string;
|
|
76
|
+
readonly max_sources: "Cap on members returned (default 200). The result says when this clipped the traversal.";
|
|
77
|
+
readonly acl: "Principals to answer as, for permission-aware search (RBAC). Each entry is an email, a `domain:<host>`, or a `group:<provider>:<id>`; results are limited to documents whose access list admits at least one of them. Omit it to search everything this API key can reach. An EMPTY list is treated exactly like omitting it, so it is not a way to ask for \"nobody\" — to restrict, name real principals. Pass the principals of the end user you are answering for; a principal the deployment does not recognise fails closed, matching only documents that carry no access list of their own. This scopes results, it does not authenticate anyone: whoever holds the key can name any principal.";
|
|
78
|
+
readonly database: string;
|
|
79
|
+
readonly collection: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
64
82
|
readonly hydradb_inspect: {
|
|
65
83
|
readonly title: "Inspect Hydra DB Source";
|
|
66
84
|
readonly description: "Fetch the full original content of ONE stored item by its id. Use it after hydradb_query or hydradb_list when a truncated chunk or listing row is not enough and you need the whole document.\n\nThe id is the value shown as `[id: …]` in hydradb_query results and in [brackets] in hydradb_list output. Ids are not guessable — take one from those tools rather than constructing it.\n\nLong sources come back in slices; the response says where it stopped and what offset continues it. Binary sources are never inlined — you get their type and size, and `mode: \"url\"` returns a download link.";
|
|
67
85
|
readonly params: {
|
|
86
|
+
readonly acl: "Principals to answer as, for permission-aware search (RBAC). Each entry is an email, a `domain:<host>`, or a `group:<provider>:<id>`; results are limited to documents whose access list admits at least one of them. Omit it to search everything this API key can reach. An EMPTY list is treated exactly like omitting it, so it is not a way to ask for \"nobody\" — to restrict, name real principals. Pass the principals of the end user you are answering for; a principal the deployment does not recognise fails closed, matching only documents that carry no access list of their own. This scopes results, it does not authenticate anyone: whoever holds the key can name any principal.";
|
|
68
87
|
readonly source_id: "The source ID to fetch content for";
|
|
69
88
|
readonly mode: string;
|
|
70
89
|
readonly offset: string;
|
package/dist/descriptions.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { ALIAS_REPLACEMENTS, TOOL_NAMES } from "./tool-names.js";
|
|
10
10
|
// Shared parameter blurbs, reused across canonical tools and their aliases.
|
|
11
11
|
const PARAM = {
|
|
12
|
+
acl: "Principals to answer as, for permission-aware search (RBAC). Each entry is an email, a `domain:<host>`, or a `group:<provider>:<id>`; results are limited to documents whose access list admits at least one of them. Omit it to search everything this API key can reach. An EMPTY list is treated exactly like omitting it, so it is not a way to ask for \"nobody\" — to restrict, name real principals. Pass the principals of the end user you are answering for; a principal the deployment does not recognise fails closed, matching only documents that carry no access list of their own. This scopes results, it does not authenticate anyone: whoever holds the key can name any principal.",
|
|
12
13
|
query: "What you want to know, as a natural-language question or topic — this is semantic " +
|
|
13
14
|
"search, so a full question beats keywords. Search for the CONCEPT, not the words " +
|
|
14
15
|
"the user used: 'database migration decisions' will find a memory written as 'we " +
|
|
@@ -34,6 +35,23 @@ const PARAM = {
|
|
|
34
35
|
num_related_chunks: "Adjacent chunks to attach to each match for surrounding context (default: 0). " +
|
|
35
36
|
"Each one multiplies the response size, so use 1-2 only when snippets are " +
|
|
36
37
|
"arriving mid-sentence; prefer hydradb_inspect when you want a whole source.",
|
|
38
|
+
recency_bias: "How much to favour recently-updated sources when ranking, 0 to 1 " +
|
|
39
|
+
"(default: 0, no recency preference). Raise it for 'where does this stand " +
|
|
40
|
+
"now' questions, where an older source can answer the words of the query " +
|
|
41
|
+
"perfectly and still be superseded — 0.8-0.9 puts the current version on " +
|
|
42
|
+
"top. Leave it at 0 when the age of a source says nothing about whether it " +
|
|
43
|
+
"is the right one. This re-RANKS; it never excludes older sources, so " +
|
|
44
|
+
"check the dates in the results rather than assuming the top hit is current.",
|
|
45
|
+
query_apps: "Search connector-ingested sources with app awareness (default: false). " +
|
|
46
|
+
"Turn it on for Slack, Jira, Confluence, Drive and similar: it matches " +
|
|
47
|
+
"exact IDs and actors, reconstructs threads, and pulls in parent/child " +
|
|
48
|
+
"pages that plain text matching misses — a Jira comment is unhelpful " +
|
|
49
|
+
"without its issue, and a Slack reply without its thread. Adds a little " +
|
|
50
|
+
"latency, so leave it off for corpora you uploaded directly.",
|
|
51
|
+
collections: "Search SEVERAL collections at once, as a list of names. Use it when the " +
|
|
52
|
+
"answer could live in more than one and you do not know which — otherwise " +
|
|
53
|
+
"prefer a single `collection`, which is both faster and more precise. " +
|
|
54
|
+
"Pass either this or `collection`, never both.",
|
|
37
55
|
operator: "Switches this query to KEYWORD retrieval (query_by=text) and says how to " +
|
|
38
56
|
"combine the terms: 'or' matches any, 'and' requires all, 'phrase' matches the " +
|
|
39
57
|
"words together in order. Hydra DB accepts an operator only on keyword " +
|
|
@@ -104,6 +122,12 @@ const PARAM = {
|
|
|
104
122
|
"chunk whole; use it when the snippets are being cut off mid-answer. Either way " +
|
|
105
123
|
"the response is capped, and hydradb_inspect returns any single source in full.",
|
|
106
124
|
fetch_source_id: "The source ID to fetch content for",
|
|
125
|
+
subgraph_id: "The id of the item to start from — the value shown as [id: …] in hydradb_query results " +
|
|
126
|
+
"or in [brackets] in hydradb_list output.",
|
|
127
|
+
subgraph_kind: "Which family the id belongs to: 'knowledge' (default) or 'memory'. The two graphs are separate.",
|
|
128
|
+
subgraph_depth: "How many hops to traverse from the item (default 5, max 10). 1 is its direct " +
|
|
129
|
+
"links only; larger values reach further along threads and hierarchies.",
|
|
130
|
+
subgraph_max_sources: "Cap on members returned (default 200). The result says when this clipped the traversal.",
|
|
107
131
|
fetch_mode: "'content' (default) returns the text — normally what you want. 'url' returns a " +
|
|
108
132
|
"short-lived presigned download link INSTEAD of the text, for binary sources or " +
|
|
109
133
|
"when handing the user a download. 'both' returns text and link.",
|
|
@@ -189,6 +213,13 @@ const LIST_MEMORIES_BODY = "List all stored user memories in Hydra DB. Returns m
|
|
|
189
213
|
const LIST_SOURCES_BODY = "List all ingested sources in Hydra DB memory. Returns source IDs, titles, types, " +
|
|
190
214
|
"and metadata. Use this to see what data sources have been ingested and to find " +
|
|
191
215
|
"source IDs for fetching content.";
|
|
216
|
+
const SUBGRAPH_BODY = `Return the connected subgraph of ONE stored item: every item reachable from it through item-level links — explicit relations declared at ingest, the thread it belongs to, and parent/child hierarchy — traversed breadth-first up to \`depth\` hops. Use it after hydradb_query or hydradb_list when a single result is not enough and you need what surrounds it: the rest of a Slack thread, the replies under a ticket, the documents a page links to.
|
|
217
|
+
|
|
218
|
+
Each member carries its id, title, depth from the start item (0 is the item itself) and how it was reached: the mechanism (\`same_thread\`, \`parent\`, \`child\`, or a \`relates_to\` type such as \`reply_to\`) and the id of the member it was reached from, so the list is also a tree. Pass any member's id to hydradb_inspect for its full content. The response also lists the relations among the members and the structural graph around them — the entities, comments, attachments and people attached to each — but NOT the chunk-level entity relations hydradb_query returns; those are a different read.
|
|
219
|
+
|
|
220
|
+
An id nothing links to returns just that item. An unknown id returns an empty result, not an error. \`is_truncated\` means \`max_sources\` clipped the traversal; \`max_depth_reached\` says how far it got.
|
|
221
|
+
|
|
222
|
+
Read-only; never changes anything.`;
|
|
192
223
|
const INSPECT_BODY = `Fetch the full original content of ONE stored item by its id. Use it after hydradb_query or hydradb_list when a truncated chunk or listing row is not enough and you need the whole document.
|
|
193
224
|
|
|
194
225
|
The id is the value shown as \`[id: …]\` in hydradb_query results and in [brackets] in hydradb_list output. Ids are not guessable — take one from those tools rather than constructing it.
|
|
@@ -256,6 +287,7 @@ export const TOOL_DESCRIPTIONS = {
|
|
|
256
287
|
title: "Query Hydra DB",
|
|
257
288
|
description: SEARCH_BODY,
|
|
258
289
|
params: {
|
|
290
|
+
acl: PARAM.acl,
|
|
259
291
|
query: PARAM.query,
|
|
260
292
|
kind: PARAM.query_kind,
|
|
261
293
|
max_results: PARAM.max_results,
|
|
@@ -266,8 +298,11 @@ export const TOOL_DESCRIPTIONS = {
|
|
|
266
298
|
source_ids: PARAM.query_source_ids,
|
|
267
299
|
metadata_filters: PARAM.metadata_filters,
|
|
268
300
|
num_related_chunks: PARAM.num_related_chunks,
|
|
301
|
+
recency_bias: PARAM.recency_bias,
|
|
302
|
+
query_apps: PARAM.query_apps,
|
|
269
303
|
database: PARAM.database,
|
|
270
304
|
collection: PARAM.collection,
|
|
305
|
+
collections: PARAM.collections,
|
|
271
306
|
},
|
|
272
307
|
},
|
|
273
308
|
[TOOL_NAMES.INGEST]: {
|
|
@@ -306,6 +341,7 @@ Results are paginated. The response says how many of the total it showed and how
|
|
|
306
341
|
|
|
307
342
|
Memory rows come back as [id] content. Knowledge rows as [id] — title (type), with no content — pass an id to hydradb_inspect for the text.`,
|
|
308
343
|
params: {
|
|
344
|
+
acl: PARAM.acl,
|
|
309
345
|
kind: PARAM.kind,
|
|
310
346
|
source_ids: PARAM.source_ids,
|
|
311
347
|
page: PARAM.page,
|
|
@@ -314,10 +350,24 @@ Memory rows come back as [id] content. Knowledge rows as [id] — title (type),
|
|
|
314
350
|
collection: PARAM.collection,
|
|
315
351
|
},
|
|
316
352
|
},
|
|
353
|
+
[TOOL_NAMES.SUBGRAPH]: {
|
|
354
|
+
title: "Hydra DB Connected Subgraph",
|
|
355
|
+
description: SUBGRAPH_BODY,
|
|
356
|
+
params: {
|
|
357
|
+
id: PARAM.subgraph_id,
|
|
358
|
+
kind: PARAM.subgraph_kind,
|
|
359
|
+
depth: PARAM.subgraph_depth,
|
|
360
|
+
max_sources: PARAM.subgraph_max_sources,
|
|
361
|
+
acl: PARAM.acl,
|
|
362
|
+
database: PARAM.database,
|
|
363
|
+
collection: PARAM.collection,
|
|
364
|
+
},
|
|
365
|
+
},
|
|
317
366
|
[TOOL_NAMES.INSPECT]: {
|
|
318
367
|
title: "Inspect Hydra DB Source",
|
|
319
368
|
description: INSPECT_BODY,
|
|
320
369
|
params: {
|
|
370
|
+
acl: PARAM.acl,
|
|
321
371
|
source_id: PARAM.fetch_source_id,
|
|
322
372
|
mode: PARAM.fetch_mode,
|
|
323
373
|
offset: PARAM.fetch_offset,
|
|
@@ -483,9 +533,10 @@ THE TOOLS
|
|
|
483
533
|
- ${TOOL_NAMES.INSPECT} — the complete original content of one source you already have an id for.
|
|
484
534
|
- ${TOOL_NAMES.DELETE} — irreversible removal of one item by id.
|
|
485
535
|
- ${TOOL_NAMES.STATUS} — whether an ingested source has finished indexing. Ingestion is asynchronous, so a query issued straight after a save can legitimately return nothing.
|
|
536
|
+
- ${TOOL_NAMES.SUBGRAPH} — everything connected to one item you already have an id for: the rest of its thread, its replies, its parents and children, the items it links to. Reach for it when one result is not enough and you need what surrounds it.
|
|
486
537
|
- ${TOOL_NAMES.DATABASES} — which databases this connection can address, with the default marked. Every tool takes an optional \`database\`; call this before naming one, or when a call was refused because the user confined this connection to a single database.
|
|
487
538
|
|
|
488
|
-
Ids flow between these: ${TOOL_NAMES.QUERY} and ${TOOL_NAMES.
|
|
539
|
+
Ids flow between these: ${TOOL_NAMES.QUERY}, ${TOOL_NAMES.LIST} and ${TOOL_NAMES.SUBGRAPH} emit them; ${TOOL_NAMES.INSPECT}, ${TOOL_NAMES.DELETE}, ${TOOL_NAMES.STATUS} and ${TOOL_NAMES.SUBGRAPH} accept them. Never invent one.
|
|
489
540
|
|
|
490
541
|
THE GRAPH TOOLS (a separate product surface)
|
|
491
542
|
|
package/dist/descriptions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptions.js","sourceRoot":"","sources":["../src/descriptions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"descriptions.js","sourceRoot":"","sources":["../src/descriptions.ts"],"names":[],"mappings":"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"}
|
package/dist/hydra/client.d.ts
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { HydraDBClient } from "@hydradb/sdk";
|
|
17
17
|
import type { HydraDB as SDK } from "@hydradb/sdk";
|
|
18
|
+
import { type RawTransport } from "./transport.js";
|
|
18
19
|
import { GraphResource } from "./graph.js";
|
|
19
20
|
export type ContextKind = "memory" | "knowledge";
|
|
20
21
|
/**
|
|
@@ -67,6 +68,8 @@ export interface HydraConfig {
|
|
|
67
68
|
timeoutSeconds?: number;
|
|
68
69
|
/** Retries per call. The SDK defaults to 2; set explicitly so it is a choice. */
|
|
69
70
|
maxRetries?: number;
|
|
71
|
+
/** Test seam for the hand-rolled HTTP path; production never sets it. */
|
|
72
|
+
fetchFn?: typeof fetch;
|
|
70
73
|
}
|
|
71
74
|
export interface QueryParams {
|
|
72
75
|
query: string;
|
|
@@ -93,10 +96,37 @@ export interface QueryParams {
|
|
|
93
96
|
ids?: string[];
|
|
94
97
|
/** Exact-match filters over stored metadata. No ranges, no partial matches. */
|
|
95
98
|
metadataFilters?: Record<string, unknown>;
|
|
99
|
+
/**
|
|
100
|
+
* Principals to answer as (PRO-1684 document ACLs): an email, a
|
|
101
|
+
* `domain:<host>`, or a `group:<provider>:<id>`. Results are restricted to
|
|
102
|
+
* documents whose access list admits at least one of them.
|
|
103
|
+
*
|
|
104
|
+
* Omitted means NO ACL scoping — every document this key can reach. An empty
|
|
105
|
+
* array is treated the SAME as omitted by the API (verified against staging:
|
|
106
|
+
* `acl: []` and no `acl` both returned 134 sources where an unknown
|
|
107
|
+
* principal returned 130), so it is not a way to ask for "nobody"; the
|
|
108
|
+
* design doc's rule is that absent and `[]` alike mean unrestricted.
|
|
109
|
+
*
|
|
110
|
+
* A principal the deployment does not know fails CLOSED: it matches only
|
|
111
|
+
* documents carrying no access list of their own, never a restricted one.
|
|
112
|
+
*/
|
|
113
|
+
acl?: string[];
|
|
96
114
|
/** Adjacent chunks pulled in alongside each match, for surrounding context. */
|
|
97
115
|
numRelatedChunks?: number;
|
|
116
|
+
/**
|
|
117
|
+
* App-aware knowledge retrieval: exact IDs and actors, thread reconstruction,
|
|
118
|
+
* and parent/child expansion over connector-ingested sources. Applies to
|
|
119
|
+
* knowledge hybrid queries; the server ignores it elsewhere.
|
|
120
|
+
*/
|
|
121
|
+
queryApps?: boolean;
|
|
98
122
|
/** Per-call collection override. */
|
|
99
123
|
collection?: string;
|
|
124
|
+
/**
|
|
125
|
+
* Multi-collection scope: a list for equal weighting, or a {collection:
|
|
126
|
+
* weight} object to rank some higher than others. Mutually exclusive with
|
|
127
|
+
* `collection` — see the guard in `query`.
|
|
128
|
+
*/
|
|
129
|
+
collections?: SDK.SearchQueryRequestCollections;
|
|
100
130
|
/** Per-call database override. */
|
|
101
131
|
database?: string;
|
|
102
132
|
}
|
|
@@ -142,6 +172,19 @@ export interface ListParams {
|
|
|
142
172
|
ids?: string[];
|
|
143
173
|
page?: number;
|
|
144
174
|
pageSize?: number;
|
|
175
|
+
/**
|
|
176
|
+
* Principals to answer as (PRO-1684 document ACLs): an email, a
|
|
177
|
+
* `domain:<host>`, or a `group:<provider>:<id>`. Results are restricted to
|
|
178
|
+
* documents whose access list admits at least one of them.
|
|
179
|
+
*
|
|
180
|
+
* Omitted means NO ACL scoping — every document this key can reach. An empty
|
|
181
|
+
* array is treated the SAME as omitted by the API, so it is not a way to ask
|
|
182
|
+
* for "nobody" (design doc: absent and `[]` alike mean unrestricted).
|
|
183
|
+
*
|
|
184
|
+
* A principal the deployment does not know fails CLOSED: it matches only
|
|
185
|
+
* documents carrying no access list of their own, never a restricted one.
|
|
186
|
+
*/
|
|
187
|
+
acl?: string[];
|
|
145
188
|
collection?: string;
|
|
146
189
|
/** Per-call database override. */
|
|
147
190
|
database?: string;
|
|
@@ -150,6 +193,19 @@ export interface InspectParams {
|
|
|
150
193
|
id: string;
|
|
151
194
|
mode?: string;
|
|
152
195
|
expirySeconds?: number;
|
|
196
|
+
/**
|
|
197
|
+
* Principals to answer as (PRO-1684 document ACLs): an email, a
|
|
198
|
+
* `domain:<host>`, or a `group:<provider>:<id>`. Results are restricted to
|
|
199
|
+
* documents whose access list admits at least one of them.
|
|
200
|
+
*
|
|
201
|
+
* Omitted means NO ACL scoping — every document this key can reach. An empty
|
|
202
|
+
* array is treated the SAME as omitted by the API, so it is not a way to ask
|
|
203
|
+
* for "nobody" (design doc: absent and `[]` alike mean unrestricted).
|
|
204
|
+
*
|
|
205
|
+
* A principal the deployment does not know fails CLOSED: it matches only
|
|
206
|
+
* documents carrying no access list of their own, never a restricted one.
|
|
207
|
+
*/
|
|
208
|
+
acl?: string[];
|
|
153
209
|
collection?: string;
|
|
154
210
|
/** Per-call database override. */
|
|
155
211
|
database?: string;
|
|
@@ -160,11 +216,88 @@ export interface IngestionStatusParams {
|
|
|
160
216
|
/** Per-call database override. */
|
|
161
217
|
database?: string;
|
|
162
218
|
}
|
|
219
|
+
/** One member of a connected subgraph (wire shape, unchanged from the API). */
|
|
220
|
+
export interface SubgraphMember {
|
|
221
|
+
source_id: string;
|
|
222
|
+
title?: string;
|
|
223
|
+
app_kind?: string;
|
|
224
|
+
app_provider?: string;
|
|
225
|
+
app_external_id?: string;
|
|
226
|
+
thread_id?: string;
|
|
227
|
+
/** Hops from the seed; 0 is the seed itself. */
|
|
228
|
+
depth: number;
|
|
229
|
+
hydration?: string;
|
|
230
|
+
discovered_via?: string;
|
|
231
|
+
discovered_relation?: string;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* One edge of the subgraph. `source` and `target` are Source nodes, so their
|
|
235
|
+
* `entity_id` is the member's item id; `relations[0].canonical_predicate` is
|
|
236
|
+
* the edge type (`relates_to`, `same_thread`, `child_of`, ...).
|
|
237
|
+
*/
|
|
238
|
+
export interface SubgraphRelation {
|
|
239
|
+
source?: {
|
|
240
|
+
entity_id?: string;
|
|
241
|
+
name?: string;
|
|
242
|
+
};
|
|
243
|
+
target?: {
|
|
244
|
+
entity_id?: string;
|
|
245
|
+
name?: string;
|
|
246
|
+
};
|
|
247
|
+
relations?: {
|
|
248
|
+
canonical_predicate?: string;
|
|
249
|
+
}[];
|
|
250
|
+
}
|
|
251
|
+
export interface SubgraphResult {
|
|
252
|
+
seed_source_id: string;
|
|
253
|
+
sources: SubgraphMember[];
|
|
254
|
+
relations: SubgraphRelation[];
|
|
255
|
+
auxiliary_relations: unknown[];
|
|
256
|
+
auxiliary_truncated: boolean;
|
|
257
|
+
is_truncated: boolean;
|
|
258
|
+
max_depth_reached: number;
|
|
259
|
+
success: boolean;
|
|
260
|
+
message: string;
|
|
261
|
+
}
|
|
262
|
+
export interface SubgraphParams {
|
|
263
|
+
/** The item whose connected subgraph to return. */
|
|
264
|
+
id: string;
|
|
265
|
+
kind?: ContextKind;
|
|
266
|
+
/** Max traversal depth in hops (server default 5). */
|
|
267
|
+
depth?: number;
|
|
268
|
+
/** Max members returned (server default 200). */
|
|
269
|
+
maxSources?: number;
|
|
270
|
+
/**
|
|
271
|
+
* Principals to answer as (PRO-1684 document ACLs): an email, a
|
|
272
|
+
* `domain:<host>`, or a `group:<provider>:<id>`. The subgraph contains
|
|
273
|
+
* only items those principals may see, filtered at every hop.
|
|
274
|
+
*
|
|
275
|
+
* Omitted means NO ACL scoping. An empty array is treated the SAME as
|
|
276
|
+
* omitted by the API, so it is not a way to ask for "nobody".
|
|
277
|
+
*/
|
|
278
|
+
acl?: string[];
|
|
279
|
+
collection?: string;
|
|
280
|
+
/** Per-call database override. */
|
|
281
|
+
database?: string;
|
|
282
|
+
}
|
|
163
283
|
export interface RelationsParams {
|
|
164
284
|
id?: string;
|
|
165
285
|
kind?: ContextKind;
|
|
166
286
|
limit?: number;
|
|
167
287
|
cursor?: number;
|
|
288
|
+
/**
|
|
289
|
+
* Principals to answer as (PRO-1684 document ACLs): an email, a
|
|
290
|
+
* `domain:<host>`, or a `group:<provider>:<id>`. Results are restricted to
|
|
291
|
+
* documents whose access list admits at least one of them.
|
|
292
|
+
*
|
|
293
|
+
* Omitted means NO ACL scoping — every document this key can reach. An empty
|
|
294
|
+
* array is treated the SAME as omitted by the API, so it is not a way to ask
|
|
295
|
+
* for "nobody" (design doc: absent and `[]` alike mean unrestricted).
|
|
296
|
+
*
|
|
297
|
+
* A principal the deployment does not know fails CLOSED: it matches only
|
|
298
|
+
* documents carrying no access list of their own, never a restricted one.
|
|
299
|
+
*/
|
|
300
|
+
acl?: string[];
|
|
168
301
|
collection?: string;
|
|
169
302
|
/** Per-call database override. */
|
|
170
303
|
database?: string;
|
|
@@ -185,6 +318,10 @@ type ScopeFields = {
|
|
|
185
318
|
database: string;
|
|
186
319
|
collection?: string;
|
|
187
320
|
};
|
|
321
|
+
type MultiScopeFields = {
|
|
322
|
+
database: string;
|
|
323
|
+
collections: SDK.SearchQueryRequestCollections;
|
|
324
|
+
};
|
|
188
325
|
/**
|
|
189
326
|
* A per-call `database` named one the connection is not allowed to touch.
|
|
190
327
|
*
|
|
@@ -218,12 +355,38 @@ declare abstract class Resource {
|
|
|
218
355
|
private readonly collection?;
|
|
219
356
|
private readonly allowedDatabases?;
|
|
220
357
|
private readonly allowedCollections?;
|
|
221
|
-
|
|
358
|
+
/**
|
|
359
|
+
* The hand-rolled HTTP path, for the endpoints the SDK does not expose
|
|
360
|
+
* (CONTRACT §2 rule 7). Optional only so tests that inject a fake SDK and
|
|
361
|
+
* never touch such an endpoint need not build one.
|
|
362
|
+
*/
|
|
363
|
+
protected readonly raw?: RawTransport | undefined;
|
|
364
|
+
protected constructor(sdk: HydraDBClient, database: string, collection?: string | undefined, allowedDatabases?: readonly string[] | undefined, allowedCollections?: readonly string[] | undefined,
|
|
365
|
+
/**
|
|
366
|
+
* The hand-rolled HTTP path, for the endpoints the SDK does not expose
|
|
367
|
+
* (CONTRACT §2 rule 7). Optional only so tests that inject a fake SDK and
|
|
368
|
+
* never touch such an endpoint need not build one.
|
|
369
|
+
*/
|
|
370
|
+
raw?: RawTransport | undefined);
|
|
222
371
|
protected scope(override?: string, dbOverride?: string): ScopeFields;
|
|
372
|
+
/**
|
|
373
|
+
* Scope for a query that names SEVERAL collections.
|
|
374
|
+
*
|
|
375
|
+
* Deliberately does NOT fall back to the configured default collection. The
|
|
376
|
+
* server folds the singular `collection` into the deprecated `sub_tenant_id`
|
|
377
|
+
* and refuses any request that carries it alongside a multi-scope selector,
|
|
378
|
+
* so injecting the default here would turn every `collections` call on a
|
|
379
|
+
* scoped connection into a 400. Naming the collections IS the scope.
|
|
380
|
+
*
|
|
381
|
+
* Confinement is enforced on the same path as `scope`: every named
|
|
382
|
+
* collection is checked, so a multi-scope selector cannot reach past what an
|
|
383
|
+
* OAuth connection was confined to.
|
|
384
|
+
*/
|
|
385
|
+
protected multiScope(collections: SDK.SearchQueryRequestCollections, dbOverride?: string): MultiScopeFields;
|
|
223
386
|
protected call<T>(path: string, fn: () => Promise<unknown>): Promise<T>;
|
|
224
387
|
}
|
|
225
388
|
export declare class ContextResource extends Resource {
|
|
226
|
-
constructor(sdk: HydraDBClient, database: string, collection?: string, allowedDatabases?: readonly string[], allowedCollections?: readonly string[]);
|
|
389
|
+
constructor(sdk: HydraDBClient, database: string, collection?: string, allowedDatabases?: readonly string[], allowedCollections?: readonly string[], raw?: RawTransport);
|
|
227
390
|
/**
|
|
228
391
|
* The single retrieval entry point (SDK `client.query`).
|
|
229
392
|
*
|
|
@@ -238,13 +401,24 @@ export declare class ContextResource extends Resource {
|
|
|
238
401
|
* Every other failure in this wrapper rejects, and a caller that only handles
|
|
239
402
|
* `.catch()` would otherwise see this one escape as a synchronous throw.
|
|
240
403
|
*/
|
|
241
|
-
ingest(params: IngestParams, opts?: RequestOptions): Promise<SDK.
|
|
404
|
+
ingest(params: IngestParams, opts?: RequestOptions): Promise<SDK.IngestionV2IngestResponse>;
|
|
242
405
|
/** List memories or knowledge sources (SDK `context.list`). */
|
|
243
|
-
list(params?: ListParams, opts?: RequestOptions): Promise<SDK.
|
|
406
|
+
list(params?: ListParams, opts?: RequestOptions): Promise<SDK.ListV2ListResponse>;
|
|
244
407
|
/** Fetch a source's content (SDK `context.inspect`; was "fetch content"). */
|
|
245
408
|
inspect(params: InspectParams, opts?: RequestOptions): Promise<SDK.FetchV2SourceFetchResponse>;
|
|
246
409
|
/** Per-source indexing progress (SDK `context.status`). */
|
|
247
410
|
ingestionStatus(params: IngestionStatusParams, opts?: RequestOptions): Promise<SDK.IngestionV2BatchProcessingStatus>;
|
|
411
|
+
/**
|
|
412
|
+
* The connected subgraph of one item (`GET /context/{id}/subgraph`): every
|
|
413
|
+
* item reachable from it through item-level relations — explicit links, a
|
|
414
|
+
* shared thread, parent/child — plus the relations among the members and
|
|
415
|
+
* the structural graph around them.
|
|
416
|
+
*
|
|
417
|
+
* No SDK resource for this yet, so it takes the raw path (CONTRACT §2 rule
|
|
418
|
+
* 7): same header, same envelope unwrap, same error type as everything else
|
|
419
|
+
* here. When the SDK grows `context.subgraph`, only this method changes.
|
|
420
|
+
*/
|
|
421
|
+
subgraph(params: SubgraphParams, opts?: RequestOptions): Promise<SubgraphResult>;
|
|
248
422
|
/** Knowledge-graph relations (SDK `context.relations`). */
|
|
249
423
|
relations(params?: RelationsParams): Promise<SDK.GraphGraphRelationsResponse>;
|
|
250
424
|
/** Delete memories or knowledge sources (SDK `context.delete`). */
|