@hydradb/mcp 1.2.1 → 1.3.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 +141 -0
- package/README.md +185 -0
- package/dist/config.d.ts +40 -0
- package/dist/config.js +40 -3
- package/dist/config.js.map +1 -1
- package/dist/cypher.d.ts +51 -0
- package/dist/cypher.js +145 -0
- package/dist/cypher.js.map +1 -0
- package/dist/descriptions.d.ts +60 -0
- package/dist/descriptions.js +159 -1
- package/dist/descriptions.js.map +1 -1
- package/dist/http-config.d.ts +190 -0
- package/dist/http-config.js +253 -0
- package/dist/http-config.js.map +1 -0
- package/dist/http.d.ts +31 -0
- package/dist/http.js +427 -0
- package/dist/http.js.map +1 -0
- package/dist/hydra/client.d.ts +69 -4
- package/dist/hydra/client.js +84 -19
- package/dist/hydra/client.js.map +1 -1
- package/dist/hydra/errors.d.ts +14 -0
- package/dist/hydra/errors.js +16 -0
- package/dist/hydra/errors.js.map +1 -1
- package/dist/hydra/graph.d.ts +82 -0
- package/dist/hydra/graph.js +217 -0
- package/dist/hydra/graph.js.map +1 -0
- package/dist/hydra/index.d.ts +4 -1
- package/dist/hydra/index.js +3 -1
- package/dist/hydra/index.js.map +1 -1
- package/dist/oauth.d.ts +109 -0
- package/dist/oauth.js +228 -0
- package/dist/oauth.js.map +1 -0
- package/dist/server.d.ts +15 -1
- package/dist/server.js +440 -12
- package/dist/server.js.map +1 -1
- package/dist/tool-names.d.ts +13 -0
- package/dist/tool-names.js +26 -0
- package/dist/tool-names.js.map +1 -1
- package/package.json +10 -2
package/dist/hydra/client.js
CHANGED
|
@@ -17,6 +17,7 @@ import { Buffer } from "node:buffer";
|
|
|
17
17
|
import { HydraDBClient } from "@hydradb/sdk";
|
|
18
18
|
import { unwrap } from "./envelope.js";
|
|
19
19
|
import { translateError } from "./errors.js";
|
|
20
|
+
import { GraphResource } from "./graph.js";
|
|
20
21
|
/**
|
|
21
22
|
* Sized to fit inside a typical MCP host's tool timeout rather than outlast it,
|
|
22
23
|
* so a stalled call fails with a HydraDB diagnostic the caller can act on
|
|
@@ -46,23 +47,77 @@ const STDERR_LOGGER = {
|
|
|
46
47
|
function req(opts) {
|
|
47
48
|
return opts?.signal ? { abortSignal: opts.signal } : undefined;
|
|
48
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* A per-call `database` named one the connection is not allowed to touch.
|
|
52
|
+
*
|
|
53
|
+
* Written for the agent that reads it as a tool error: it names what IS
|
|
54
|
+
* allowed and where the choice was made, so the agent can either use an
|
|
55
|
+
* allowed database or tell the user to reconnect with wider access, rather
|
|
56
|
+
* than retrying blindly.
|
|
57
|
+
*/
|
|
58
|
+
export class ScopeNotAllowedError extends Error {
|
|
59
|
+
constructor(kind, requested, allowed) {
|
|
60
|
+
super(`This connection is confined to ${kind} ${allowed.map((d) => `"${d}"`).join(", ")} ` +
|
|
61
|
+
`and cannot use ${kind} "${requested}". The user chose this when approving the ` +
|
|
62
|
+
`connection; to use another ${kind} they must reconnect and allow it.`);
|
|
63
|
+
this.kind = kind;
|
|
64
|
+
this.requested = requested;
|
|
65
|
+
this.allowed = allowed;
|
|
66
|
+
this.name = "ScopeNotAllowedError";
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** Kept for the name callers already import; the database case of the above. */
|
|
70
|
+
export const DatabaseNotAllowedError = ScopeNotAllowedError;
|
|
71
|
+
/** Throws unless `database` is one the connection may use. */
|
|
72
|
+
export function assertDatabaseAllowed(database, allowed) {
|
|
73
|
+
if (allowed && !allowed.includes(database)) {
|
|
74
|
+
throw new ScopeNotAllowedError("database", database, allowed);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Throws unless `collection` is one the connection may use.
|
|
79
|
+
*
|
|
80
|
+
* Separate from the database check because confinement has to cover both:
|
|
81
|
+
* a caller pinned to one database can otherwise step sideways into a
|
|
82
|
+
* collection the consent screen never showed, and `drop_collection` makes
|
|
83
|
+
* that destructive.
|
|
84
|
+
*/
|
|
85
|
+
export function assertCollectionAllowed(collection, allowed) {
|
|
86
|
+
if (allowed && !allowed.includes(collection)) {
|
|
87
|
+
throw new ScopeNotAllowedError("collection", collection, allowed);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
49
90
|
class Resource {
|
|
50
|
-
constructor(sdk, database, collection) {
|
|
91
|
+
constructor(sdk, database, collection, allowedDatabases, allowedCollections) {
|
|
51
92
|
this.sdk = sdk;
|
|
52
93
|
this.database = database;
|
|
53
94
|
this.collection = collection;
|
|
95
|
+
this.allowedDatabases = allowedDatabases;
|
|
96
|
+
this.allowedCollections = allowedCollections;
|
|
54
97
|
}
|
|
55
|
-
scope(override) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
98
|
+
scope(override, dbOverride) {
|
|
99
|
+
const database = dbOverride?.trim() || this.database;
|
|
100
|
+
// Enforced HERE, on the one path every per-call scope takes, so no tool
|
|
101
|
+
// can forget to check. The configured defaults are always allowed.
|
|
102
|
+
if (database !== this.database)
|
|
103
|
+
assertDatabaseAllowed(database, this.allowedDatabases);
|
|
104
|
+
const collection = override?.trim() || this.collection;
|
|
105
|
+
if (collection && collection !== this.collection) {
|
|
106
|
+
assertCollectionAllowed(collection, this.allowedCollections);
|
|
107
|
+
}
|
|
108
|
+
return collection != null && collection !== ""
|
|
109
|
+
? { database, collection }
|
|
110
|
+
: { database };
|
|
60
111
|
}
|
|
61
112
|
async call(path, fn) {
|
|
62
113
|
try {
|
|
63
114
|
return unwrap(await fn());
|
|
64
115
|
}
|
|
65
116
|
catch (err) {
|
|
117
|
+
// A refused database is a decision the user made, not a transport
|
|
118
|
+
// failure from `path`; it keeps its own type and message.
|
|
119
|
+
if (err instanceof ScopeNotAllowedError)
|
|
120
|
+
throw err;
|
|
66
121
|
throw translateError(path, err);
|
|
67
122
|
}
|
|
68
123
|
}
|
|
@@ -71,8 +126,8 @@ export class ContextResource extends Resource {
|
|
|
71
126
|
// The base constructor is `protected`, so this one is what makes the class
|
|
72
127
|
// instantiable from outside the file. Removing it fails with TS2674.
|
|
73
128
|
// biome-ignore lint/complexity/noUselessConstructor: widens visibility
|
|
74
|
-
constructor(sdk, database, collection) {
|
|
75
|
-
super(sdk, database, collection);
|
|
129
|
+
constructor(sdk, database, collection, allowedDatabases, allowedCollections) {
|
|
130
|
+
super(sdk, database, collection, allowedDatabases, allowedCollections);
|
|
76
131
|
}
|
|
77
132
|
/**
|
|
78
133
|
* The single retrieval entry point (SDK `client.query`).
|
|
@@ -100,7 +155,7 @@ export class ContextResource extends Resource {
|
|
|
100
155
|
}
|
|
101
156
|
const queryBy = params.queryBy ?? (params.operator != null ? "text" : undefined);
|
|
102
157
|
return this.call("/query", () => this.sdk.query({
|
|
103
|
-
...this.scope(params.collection),
|
|
158
|
+
...this.scope(params.collection, params.database),
|
|
104
159
|
query: params.query,
|
|
105
160
|
type: params.kind,
|
|
106
161
|
operator: params.operator,
|
|
@@ -124,7 +179,7 @@ export class ContextResource extends Resource {
|
|
|
124
179
|
*/
|
|
125
180
|
async ingest(params, opts) {
|
|
126
181
|
const request = {
|
|
127
|
-
...this.scope(params.collection),
|
|
182
|
+
...this.scope(params.collection, params.database),
|
|
128
183
|
type: params.kind,
|
|
129
184
|
};
|
|
130
185
|
if (params.upsert != null) {
|
|
@@ -202,7 +257,7 @@ export class ContextResource extends Resource {
|
|
|
202
257
|
/** List memories or knowledge sources (SDK `context.list`). */
|
|
203
258
|
list(params = {}, opts) {
|
|
204
259
|
return this.call("/context/list", () => this.sdk.context.list({
|
|
205
|
-
...this.scope(params.collection),
|
|
260
|
+
...this.scope(params.collection, params.database),
|
|
206
261
|
type: params.kind,
|
|
207
262
|
ids: params.ids,
|
|
208
263
|
page: params.page,
|
|
@@ -212,7 +267,7 @@ export class ContextResource extends Resource {
|
|
|
212
267
|
/** Fetch a source's content (SDK `context.inspect`; was "fetch content"). */
|
|
213
268
|
inspect(params, opts) {
|
|
214
269
|
return this.call("/context/inspect", () => this.sdk.context.inspect({
|
|
215
|
-
...this.scope(params.collection),
|
|
270
|
+
...this.scope(params.collection, params.database),
|
|
216
271
|
id: params.id,
|
|
217
272
|
mode: params.mode,
|
|
218
273
|
expirySeconds: params.expirySeconds,
|
|
@@ -221,14 +276,14 @@ export class ContextResource extends Resource {
|
|
|
221
276
|
/** Per-source indexing progress (SDK `context.status`). */
|
|
222
277
|
ingestionStatus(params, opts) {
|
|
223
278
|
return this.call("/context/status", () => this.sdk.context.status({
|
|
224
|
-
...this.scope(params.collection),
|
|
279
|
+
...this.scope(params.collection, params.database),
|
|
225
280
|
ids: params.ids,
|
|
226
281
|
}, req(opts)));
|
|
227
282
|
}
|
|
228
283
|
/** Knowledge-graph relations (SDK `context.relations`). */
|
|
229
284
|
relations(params = {}) {
|
|
230
285
|
return this.call("/context/relations", () => this.sdk.context.relations({
|
|
231
|
-
...this.scope(params.collection),
|
|
286
|
+
...this.scope(params.collection, params.database),
|
|
232
287
|
id: params.id,
|
|
233
288
|
type: params.kind,
|
|
234
289
|
limit: params.limit,
|
|
@@ -238,7 +293,7 @@ export class ContextResource extends Resource {
|
|
|
238
293
|
/** Delete memories or knowledge sources (SDK `context.delete`). */
|
|
239
294
|
delete(params, opts) {
|
|
240
295
|
return this.call("/context", () => this.sdk.context.delete({
|
|
241
|
-
...this.scope(params.collection),
|
|
296
|
+
...this.scope(params.collection, params.database),
|
|
242
297
|
ids: params.ids,
|
|
243
298
|
type: params.kind,
|
|
244
299
|
}, req(opts)));
|
|
@@ -248,8 +303,8 @@ export class DatabasesResource extends Resource {
|
|
|
248
303
|
// The base constructor is `protected`, so this one is what makes the class
|
|
249
304
|
// instantiable from outside the file. Removing it fails with TS2674.
|
|
250
305
|
// biome-ignore lint/complexity/noUselessConstructor: widens visibility
|
|
251
|
-
constructor(sdk, database, collection) {
|
|
252
|
-
super(sdk, database, collection);
|
|
306
|
+
constructor(sdk, database, collection, allowedDatabases, allowedCollections) {
|
|
307
|
+
super(sdk, database, collection, allowedDatabases, allowedCollections);
|
|
253
308
|
}
|
|
254
309
|
create(params) {
|
|
255
310
|
return this.call("/databases", () => this.sdk.databases.create({
|
|
@@ -296,8 +351,18 @@ export class HydraDB {
|
|
|
296
351
|
// overridden — level and silencing keep the SDK's own defaults.
|
|
297
352
|
logging: { logger: STDERR_LOGGER },
|
|
298
353
|
});
|
|
299
|
-
this.
|
|
300
|
-
this.
|
|
354
|
+
this.database = config.database;
|
|
355
|
+
this.collection = config.collection;
|
|
356
|
+
this.allowedDatabases = config.allowedDatabases;
|
|
357
|
+
this.allowedCollections = config.allowedCollections;
|
|
358
|
+
this.context = new ContextResource(client, config.database, config.collection, config.allowedDatabases, config.allowedCollections);
|
|
359
|
+
this.databases = new DatabasesResource(client, config.database, config.collection, config.allowedDatabases, config.allowedCollections);
|
|
360
|
+
this.graph = new GraphResource({
|
|
361
|
+
token: config.token,
|
|
362
|
+
...(config.baseUrl != null ? { baseUrl: config.baseUrl } : {}),
|
|
363
|
+
timeoutSeconds: config.timeoutSeconds ?? DEFAULT_TIMEOUT_SECONDS,
|
|
364
|
+
maxRetries: config.maxRetries ?? DEFAULT_MAX_RETRIES,
|
|
365
|
+
});
|
|
301
366
|
}
|
|
302
367
|
}
|
|
303
368
|
//# sourceMappingURL=client.js.map
|
package/dist/hydra/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/hydra/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/hydra/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAoBrC;;;;;;;;;;;GAWG;AACH,MAAM,aAAa,GAAG;IACrB,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAC9C,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAC7C,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAC7C,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE,CAC9C,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF,6FAA6F;AAC7F,SAAS,GAAG,CAAC,IAAqB;IACjC,OAAO,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AA2JD;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC9C,YACU,IAA+B,EAC/B,SAAiB,EACjB,OAA0B;QAEnC,KAAK,CACJ,kCAAkC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACnF,kBAAkB,IAAI,KAAK,SAAS,4CAA4C;YAChF,8BAA8B,IAAI,oCAAoC,CACvE,CAAC;QARO,SAAI,GAAJ,IAAI,CAA2B;QAC/B,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAmB;QAOnC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACpC,CAAC;CACD;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAE5D,8DAA8D;AAC9D,MAAM,UAAU,qBAAqB,CACpC,QAAgB,EAChB,OAAsC;IAEtC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,oBAAoB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACtC,UAAkB,EAClB,OAAsC;IAEtC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;AACF,CAAC;AAED,MAAe,QAAQ;IACtB,YACoB,GAAkB,EACpB,QAAgB,EAChB,UAAmB,EACnB,gBAAoC,EACpC,kBAAsC;QAJpC,QAAG,GAAH,GAAG,CAAe;QACpB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAS;QACnB,qBAAgB,GAAhB,gBAAgB,CAAoB;QACpC,uBAAkB,GAAlB,kBAAkB,CAAoB;IACrD,CAAC;IAEM,KAAK,CAAC,QAAiB,EAAE,UAAmB;QACrD,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC;QACrD,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAAE,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvF,MAAM,UAAU,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;QACvD,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAClD,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,EAAE;YAC7C,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;YAC1B,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,EAA0B;QAC/D,IAAI,CAAC;YACJ,OAAO,MAAM,CAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,kEAAkE;YAClE,0DAA0D;YAC1D,IAAI,GAAG,YAAY,oBAAoB;gBAAE,MAAM,GAAG,CAAC;YACnD,MAAM,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;CACD;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC5C,2EAA2E;IAC3E,qEAAqE;IACrE,uEAAuE;IACvE,YACC,GAAkB,EAClB,QAAgB,EAChB,UAAmB,EACnB,gBAAoC,EACpC,kBAAsC;QAEtC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CACV,MAAmB,EACnB,IAAqB;QAErB,qEAAqE;QACrE,wEAAwE;QACxE,wCAAwC;QACxC,oFAAoF;QACpF,wEAAwE;QACxE,qEAAqE;QACrE,qEAAqE;QACrE,EAAE;QACF,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,+DAA+D;QAC/D,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CACd,aAAa,MAAM,CAAC,QAAQ,wCAAwC;gBACpE,uEAAuE;gBACvE,iEAAiE,CACjE,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GACZ,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACd,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;YACjD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO;YACP,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SACzC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CACb,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACX,MAAoB,EACpB,IAAqB;QAErB,MAAM,OAAO,GAA6B;YACzC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;YACjD,IAAI,EAAE,MAAM,CAAC,IAAI;SACjB,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;YACnC,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC;YACnE,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;YAC9C,kEAAkE;YAClE,sCAAsC;YACtC,IAAI,KAAK,IAAI,MAAM,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBAChD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YACtD,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC9D,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACpD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC9D,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;gBAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC7D,IAAI,MAAM,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YACtD,CAAC;YACD,IAAI,MAAM,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,gEAAgE;YAChE,sEAAsE;YACtE,mEAAmE;YACnE,sEAAsE;YACtE,qEAAqE;YACrE,oCAAoC;YACpC,MAAM,WAAW,GAChB;gBACC,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;gBACvB,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC7B,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;gBACvB,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;gBACjC,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC;gBACjD,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC7B,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC7B,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC;gBACjD,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,CAAC;aAE5C;iBACC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;iBACpC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAExB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACd,wCAAwC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACnE,oEAAoE;oBACpE,eAAe,CACf,CAAC;YACH,CAAC;YAED,sEAAsE;YACtE,iEAAiE;YACjE,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACzB,OAAO,CAAC,SAAS,GAAG;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;oBACvC,gDAAgD;oBAChD,mDAAmD;oBACnD,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,KAAK;oBAC/D,WAAW,EAAE,eAAe;iBAC5B,CAAC;YACH,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACxC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAC3C,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,CACH,SAAqB,EAAE,EACvB,IAAqB;QAErB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACrB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;YACjD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SACzB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CACb,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,OAAO,CACN,MAAqB,EACrB,IAAqB;QAErB,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACzC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;YACjD,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,aAAa,EAAE,MAAM,CAAC,aAAa;SACnC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CACb,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,eAAe,CACd,MAA6B,EAC7B,IAAqB;QAErB,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACxC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;YACjD,GAAG,EAAE,MAAM,CAAC,GAAG;SACf,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CACb,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,SAAS,CACR,SAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;YACjD,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC,CACF,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM,CACL,MAAoB,EACpB,IAAqB;QAErB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CACjC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;YACjD,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;SACjB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CACb,CAAC;IACH,CAAC;CACD;AAED,MAAM,OAAO,iBAAkB,SAAQ,QAAQ;IAC9C,2EAA2E;IAC3E,qEAAqE;IACrE,uEAAuE;IACvE,YACC,GAAkB,EAClB,QAAgB,EAChB,UAAmB,EACnB,gBAAoC,EACpC,kBAAsC;QAEtC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CACL,MAA4B;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CACnC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;SAC/C,CAAC,CACF,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAgB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,WAAW,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAC/C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAgB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACzC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CACtC,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,SAAS,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CACvC,CAAC;IACH,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,OAAO;IAiBnB,YAAY,MAAmB,EAAE,GAAmB;QACnD,MAAM,MAAM,GACX,GAAG;YACH,IAAI,aAAa,CAAC;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,kEAAkE;gBAClE,oEAAoE;gBACpE,yDAAyD;gBACzD,gBAAgB,EAAE,MAAM,CAAC,cAAc,IAAI,uBAAuB;gBAClE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,mBAAmB;gBACpD,qEAAqE;gBACrE,+DAA+D;gBAC/D,gEAAgE;gBAChE,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;aAClC,CAAC,CAAC;QACJ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CACjC,MAAM,EACN,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,kBAAkB,CACzB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CACrC,MAAM,EACN,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,kBAAkB,CACzB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,uBAAuB;YAChE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,mBAAmB;SACpD,CAAC,CAAC;IACJ,CAAC;CACD"}
|
package/dist/hydra/errors.d.ts
CHANGED
|
@@ -30,6 +30,20 @@ export declare class HydraWrapperError extends Error {
|
|
|
30
30
|
cause?: unknown;
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Build the same error from a raw HTTP response, for calls that do not go
|
|
35
|
+
* through the SDK.
|
|
36
|
+
*
|
|
37
|
+
* The BYOG endpoints have no SDK resource to throw `HydraDBError`, so
|
|
38
|
+
* `translateError` alone would send every one of their failures down its
|
|
39
|
+
* generic branch and drop the response body — losing the error code, the
|
|
40
|
+
* server's explanation and the request id, which on a rejected Cypher query is
|
|
41
|
+
* the entire diagnosis.
|
|
42
|
+
*
|
|
43
|
+
* Routing them here instead keeps ONE formatting path, so a BYOG failure and an
|
|
44
|
+
* SDK failure are indistinguishable to everything above the wrapper.
|
|
45
|
+
*/
|
|
46
|
+
export declare function responseError(path: string, status: number, body: unknown): HydraWrapperError;
|
|
33
47
|
/**
|
|
34
48
|
* Translate any error thrown by an SDK call into a `HydraWrapperError` carrying
|
|
35
49
|
* the byte-identical `Hydra DB ${path} → ${status}: ${body}` message.
|
package/dist/hydra/errors.js
CHANGED
|
@@ -124,6 +124,22 @@ function truncate(text) {
|
|
|
124
124
|
return text;
|
|
125
125
|
return `${text.slice(0, MAX_BODY_CHARS)}… (truncated, ${text.length} chars)`;
|
|
126
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Build the same error from a raw HTTP response, for calls that do not go
|
|
129
|
+
* through the SDK.
|
|
130
|
+
*
|
|
131
|
+
* The BYOG endpoints have no SDK resource to throw `HydraDBError`, so
|
|
132
|
+
* `translateError` alone would send every one of their failures down its
|
|
133
|
+
* generic branch and drop the response body — losing the error code, the
|
|
134
|
+
* server's explanation and the request id, which on a rejected Cypher query is
|
|
135
|
+
* the entire diagnosis.
|
|
136
|
+
*
|
|
137
|
+
* Routing them here instead keeps ONE formatting path, so a BYOG failure and an
|
|
138
|
+
* SDK failure are indistinguishable to everything above the wrapper.
|
|
139
|
+
*/
|
|
140
|
+
export function responseError(path, status, body) {
|
|
141
|
+
return new HydraWrapperError(`Hydra DB ${path} → ${status}: ${bodyToString(body)}`, path, { status, body });
|
|
142
|
+
}
|
|
127
143
|
/**
|
|
128
144
|
* Translate any error thrown by an SDK call into a `HydraWrapperError` carrying
|
|
129
145
|
* the byte-identical `Hydra DB ${path} → ${status}: ${body}` message.
|
package/dist/hydra/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/hydra/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/hydra/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The BYOG (Bring Your Own Graph) half of the wrapper.
|
|
3
|
+
*
|
|
4
|
+
* Everything else in this directory delegates to `@hydradb/sdk`. This file
|
|
5
|
+
* cannot: the generated SDK at the pinned 2.1.2 exposes `context`, `databases`,
|
|
6
|
+
* `connectors` and `webhooks` and has no `byog` resource at all, so the
|
|
7
|
+
* `/byog/*` endpoints are unreachable through it.
|
|
8
|
+
*
|
|
9
|
+
* So this is a hand-rolled HTTP path — but it is NOT a second client. It sits
|
|
10
|
+
* behind the same wrapper surface, unwraps the same `HandlerEnvelope` by shape
|
|
11
|
+
* (see ./envelope), and raises the same `HydraWrapperError` with the same
|
|
12
|
+
* message template (see ./errors). A caller cannot tell which of its methods
|
|
13
|
+
* went through the SDK and which did not, which is the property that matters:
|
|
14
|
+
* when the SDK grows a `byog` resource, this file is replaced and nothing above
|
|
15
|
+
* it changes.
|
|
16
|
+
*
|
|
17
|
+
* CONTRACT §2 rule 1 pins the SDK exactly because generated method names churn.
|
|
18
|
+
* That reasoning is unaffected here — there is no generated name to be
|
|
19
|
+
* insulated from yet.
|
|
20
|
+
*/
|
|
21
|
+
export interface GraphConfig {
|
|
22
|
+
token: string;
|
|
23
|
+
baseUrl?: string;
|
|
24
|
+
timeoutSeconds?: number;
|
|
25
|
+
maxRetries?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface GraphQueryParams {
|
|
28
|
+
database: string;
|
|
29
|
+
collection: string;
|
|
30
|
+
query: string;
|
|
31
|
+
params?: Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
export interface GraphScopeParams {
|
|
34
|
+
database: string;
|
|
35
|
+
collection?: string;
|
|
36
|
+
}
|
|
37
|
+
/** One row of a Cypher result: keys are the RETURN column names. */
|
|
38
|
+
export type GraphRow = Record<string, unknown>;
|
|
39
|
+
export interface RequestOptions {
|
|
40
|
+
signal?: AbortSignal;
|
|
41
|
+
}
|
|
42
|
+
export declare class GraphResource {
|
|
43
|
+
private readonly config;
|
|
44
|
+
private readonly baseUrl;
|
|
45
|
+
private readonly timeoutMs;
|
|
46
|
+
private readonly maxRetries;
|
|
47
|
+
constructor(config: GraphConfig);
|
|
48
|
+
/**
|
|
49
|
+
* Run Cypher against one collection (`POST /byog/query`).
|
|
50
|
+
*
|
|
51
|
+
* Returns the rows verbatim — an array of row objects keyed by the query's
|
|
52
|
+
* RETURN column names. A write with no RETURN yields `[]`, which is a
|
|
53
|
+
* success and must not be read as a failure.
|
|
54
|
+
*/
|
|
55
|
+
query(params: GraphQueryParams, opts?: RequestOptions): Promise<GraphRow[]>;
|
|
56
|
+
/** Create a graph database (`POST /byog/databases`). Ready immediately. */
|
|
57
|
+
createDatabase(database: string, opts?: RequestOptions): Promise<{
|
|
58
|
+
database?: string;
|
|
59
|
+
status?: string;
|
|
60
|
+
cluster?: string;
|
|
61
|
+
}>;
|
|
62
|
+
/** List the collections in a graph database (`GET /byog/collections`). */
|
|
63
|
+
listCollections(params: GraphScopeParams, opts?: RequestOptions): Promise<string[]>;
|
|
64
|
+
/** Drop one collection and all its data (`DELETE /byog/collections`). Idempotent. */
|
|
65
|
+
dropCollection(params: {
|
|
66
|
+
database: string;
|
|
67
|
+
collection: string;
|
|
68
|
+
}, opts?: RequestOptions): Promise<Record<string, unknown>>;
|
|
69
|
+
/**
|
|
70
|
+
* Drop a graph database (`DELETE /byog/databases`).
|
|
71
|
+
*
|
|
72
|
+
* `deleted` is false when the database was created through the standard
|
|
73
|
+
* database API and merely holds graph collections — in that case only the
|
|
74
|
+
* collections go. That distinction is reported, not smoothed over.
|
|
75
|
+
*/
|
|
76
|
+
dropDatabase(database: string, opts?: RequestOptions): Promise<{
|
|
77
|
+
deleted?: boolean;
|
|
78
|
+
deleted_collections?: string[];
|
|
79
|
+
}>;
|
|
80
|
+
private send;
|
|
81
|
+
private attempt;
|
|
82
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The BYOG (Bring Your Own Graph) half of the wrapper.
|
|
3
|
+
*
|
|
4
|
+
* Everything else in this directory delegates to `@hydradb/sdk`. This file
|
|
5
|
+
* cannot: the generated SDK at the pinned 2.1.2 exposes `context`, `databases`,
|
|
6
|
+
* `connectors` and `webhooks` and has no `byog` resource at all, so the
|
|
7
|
+
* `/byog/*` endpoints are unreachable through it.
|
|
8
|
+
*
|
|
9
|
+
* So this is a hand-rolled HTTP path — but it is NOT a second client. It sits
|
|
10
|
+
* behind the same wrapper surface, unwraps the same `HandlerEnvelope` by shape
|
|
11
|
+
* (see ./envelope), and raises the same `HydraWrapperError` with the same
|
|
12
|
+
* message template (see ./errors). A caller cannot tell which of its methods
|
|
13
|
+
* went through the SDK and which did not, which is the property that matters:
|
|
14
|
+
* when the SDK grows a `byog` resource, this file is replaced and nothing above
|
|
15
|
+
* it changes.
|
|
16
|
+
*
|
|
17
|
+
* CONTRACT §2 rule 1 pins the SDK exactly because generated method names churn.
|
|
18
|
+
* That reasoning is unaffected here — there is no generated name to be
|
|
19
|
+
* insulated from yet.
|
|
20
|
+
*/
|
|
21
|
+
import { unwrap } from "./envelope.js";
|
|
22
|
+
import { HydraWrapperError, responseError, translateError } from "./errors.js";
|
|
23
|
+
/** The SDK's own default, restated so this file does not depend on importing it. */
|
|
24
|
+
const DEFAULT_BASE_URL = "https://api.hydradb.com";
|
|
25
|
+
/**
|
|
26
|
+
* Status codes worth retrying.
|
|
27
|
+
*
|
|
28
|
+
* 429 and 5xx are documented as transient. 4xx other than 429 are not: a
|
|
29
|
+
* rejected construct, a Cypher error and a bad collection name all fail
|
|
30
|
+
* identically on retry, so retrying them only delays the message.
|
|
31
|
+
*/
|
|
32
|
+
function isRetryable(status) {
|
|
33
|
+
return status === 429 || (status >= 500 && status <= 599);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A 2xx whose body is not the shape this endpoint promises.
|
|
37
|
+
*
|
|
38
|
+
* Raised rather than coerced to an empty result. An empty array is a perfectly
|
|
39
|
+
* ordinary answer here — a query that matched nothing, a database with no
|
|
40
|
+
* graphs — so silently substituting one for a malformed response makes a broken
|
|
41
|
+
* integration indistinguishable from a true negative, which is the one case a
|
|
42
|
+
* caller cannot debug. The `path` and a bounded preview of what actually
|
|
43
|
+
* arrived are carried through so the failure is actionable.
|
|
44
|
+
*/
|
|
45
|
+
function unexpectedShape(path, expected, got) {
|
|
46
|
+
let preview;
|
|
47
|
+
try {
|
|
48
|
+
preview = JSON.stringify(got) ?? String(got);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
preview = String(got);
|
|
52
|
+
}
|
|
53
|
+
if (preview.length > 200)
|
|
54
|
+
preview = `${preview.slice(0, 200)}…`;
|
|
55
|
+
return new HydraWrapperError(`Hydra DB ${path} → ERR: expected ${expected}, got ${preview}. ` +
|
|
56
|
+
"This is a response-shape mismatch, not an empty result.", path, { body: got });
|
|
57
|
+
}
|
|
58
|
+
export class GraphResource {
|
|
59
|
+
constructor(config) {
|
|
60
|
+
this.config = config;
|
|
61
|
+
// Trailing slashes would produce `//byog/query`, which some proxies treat
|
|
62
|
+
// as a different path.
|
|
63
|
+
this.baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
|
|
64
|
+
this.timeoutMs = (config.timeoutSeconds ?? 30) * 1000;
|
|
65
|
+
this.maxRetries = config.maxRetries ?? 2;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Run Cypher against one collection (`POST /byog/query`).
|
|
69
|
+
*
|
|
70
|
+
* Returns the rows verbatim — an array of row objects keyed by the query's
|
|
71
|
+
* RETURN column names. A write with no RETURN yields `[]`, which is a
|
|
72
|
+
* success and must not be read as a failure.
|
|
73
|
+
*/
|
|
74
|
+
async query(params, opts) {
|
|
75
|
+
const body = {
|
|
76
|
+
database: params.database,
|
|
77
|
+
collection: params.collection,
|
|
78
|
+
query: params.query,
|
|
79
|
+
...(params.params != null ? { params: params.params } : {}),
|
|
80
|
+
};
|
|
81
|
+
const rows = await this.send("/byog/query", "POST", body, opts);
|
|
82
|
+
// `data` is ALWAYS an array on success — verified against the live API,
|
|
83
|
+
// including a write with no RETURN, which yields `[]`. So anything else
|
|
84
|
+
// means the response contract moved, and coercing it to `[]` would
|
|
85
|
+
// present that as a legitimate "no rows matched": the caller would read a
|
|
86
|
+
// broken integration as an empty graph and act on it. Fail loudly instead.
|
|
87
|
+
if (!Array.isArray(rows)) {
|
|
88
|
+
throw unexpectedShape("/byog/query", "an array of row objects", rows);
|
|
89
|
+
}
|
|
90
|
+
// Element-wise, not just the container. `renderRows` calls `Object.keys`
|
|
91
|
+
// on each row, which throws a bare TypeError on `null` and on a string —
|
|
92
|
+
// an unactionable crash inside a tool handler, where the caller sees a
|
|
93
|
+
// stack rather than "the response was not what we expected".
|
|
94
|
+
const bad = rows.findIndex((row) => row == null || typeof row !== "object" || Array.isArray(row));
|
|
95
|
+
if (bad !== -1) {
|
|
96
|
+
throw unexpectedShape("/byog/query", `an array of row objects (row ${bad} is not one)`, rows[bad]);
|
|
97
|
+
}
|
|
98
|
+
return rows;
|
|
99
|
+
}
|
|
100
|
+
/** Create a graph database (`POST /byog/databases`). Ready immediately. */
|
|
101
|
+
createDatabase(database, opts) {
|
|
102
|
+
return this.send("/byog/databases", "POST", { database }, opts);
|
|
103
|
+
}
|
|
104
|
+
/** List the collections in a graph database (`GET /byog/collections`). */
|
|
105
|
+
async listCollections(params, opts) {
|
|
106
|
+
const res = await this.send(`/byog/collections?database=${encodeURIComponent(params.database)}`, "GET", undefined, opts);
|
|
107
|
+
// Same reasoning as `query`: a missing or non-array `collections` is a
|
|
108
|
+
// contract change, and reporting it as "no collections yet" would send
|
|
109
|
+
// the caller off to create graphs that already exist.
|
|
110
|
+
if (!Array.isArray(res?.collections)) {
|
|
111
|
+
throw unexpectedShape("/byog/collections", "an object with a `collections` array", res);
|
|
112
|
+
}
|
|
113
|
+
// A non-string element would be rendered as a collection name the caller
|
|
114
|
+
// could then pass back as scope, so it is reported rather than coerced.
|
|
115
|
+
const notAName = res.collections.findIndex((name) => typeof name !== "string");
|
|
116
|
+
if (notAName !== -1) {
|
|
117
|
+
throw unexpectedShape("/byog/collections", `an array of collection names (index ${notAName} is not a string)`, res.collections[notAName]);
|
|
118
|
+
}
|
|
119
|
+
return res.collections;
|
|
120
|
+
}
|
|
121
|
+
/** Drop one collection and all its data (`DELETE /byog/collections`). Idempotent. */
|
|
122
|
+
dropCollection(params, opts) {
|
|
123
|
+
return this.send("/byog/collections", "DELETE", params, opts);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Drop a graph database (`DELETE /byog/databases`).
|
|
127
|
+
*
|
|
128
|
+
* `deleted` is false when the database was created through the standard
|
|
129
|
+
* database API and merely holds graph collections — in that case only the
|
|
130
|
+
* collections go. That distinction is reported, not smoothed over.
|
|
131
|
+
*/
|
|
132
|
+
dropDatabase(database, opts) {
|
|
133
|
+
return this.send("/byog/databases", "DELETE", { database }, opts);
|
|
134
|
+
}
|
|
135
|
+
// --- Transport ---
|
|
136
|
+
async send(path, method, body, opts) {
|
|
137
|
+
let lastError;
|
|
138
|
+
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
|
|
139
|
+
try {
|
|
140
|
+
return await this.attempt(path, method, body, opts);
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
lastError = err;
|
|
144
|
+
const status = err instanceof HydraWrapperError ? err.status : undefined;
|
|
145
|
+
// A caller who cancelled is not waiting for a retry.
|
|
146
|
+
if (opts?.signal?.aborted)
|
|
147
|
+
throw err;
|
|
148
|
+
if (attempt === this.maxRetries)
|
|
149
|
+
break;
|
|
150
|
+
if (status != null && !isRetryable(status))
|
|
151
|
+
break;
|
|
152
|
+
// Exponential backoff. Bounded so a 429 on the last attempt does not
|
|
153
|
+
// hold the MCP host's tool timeout open for its own sake.
|
|
154
|
+
const delay = Math.min(250 * 2 ** attempt, 2000);
|
|
155
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
throw lastError;
|
|
159
|
+
}
|
|
160
|
+
async attempt(path, method, body, opts) {
|
|
161
|
+
// The host's cancellation and our own deadline both have to be able to
|
|
162
|
+
// abort the request, and `AbortSignal.any` is not available on every Node
|
|
163
|
+
// 18 this package supports — so they are combined by hand.
|
|
164
|
+
const controller = new AbortController();
|
|
165
|
+
const timer = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
166
|
+
const onAbort = () => controller.abort();
|
|
167
|
+
opts?.signal?.addEventListener("abort", onAbort, { once: true });
|
|
168
|
+
try {
|
|
169
|
+
const response = await fetch(`${this.baseUrl}${path}`, {
|
|
170
|
+
method,
|
|
171
|
+
headers: {
|
|
172
|
+
Authorization: `Bearer ${this.config.token}`,
|
|
173
|
+
"Content-Type": "application/json",
|
|
174
|
+
// CONTRACT §2 rule 6. The SDK sends this on every call; a
|
|
175
|
+
// hand-rolled path that omitted it would silently get v1
|
|
176
|
+
// behaviour from the same endpoints.
|
|
177
|
+
"API-Version": "2",
|
|
178
|
+
},
|
|
179
|
+
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
180
|
+
signal: controller.signal,
|
|
181
|
+
});
|
|
182
|
+
const text = await response.text();
|
|
183
|
+
let parsed;
|
|
184
|
+
try {
|
|
185
|
+
parsed = text === "" ? null : JSON.parse(text);
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
parsed = text;
|
|
189
|
+
}
|
|
190
|
+
if (!response.ok) {
|
|
191
|
+
// Hand the parsed envelope to the shared formatter so a BYOG
|
|
192
|
+
// failure reads exactly like an SDK one, error code and request id
|
|
193
|
+
// and all.
|
|
194
|
+
throw responseError(path, response.status, parsed);
|
|
195
|
+
}
|
|
196
|
+
return unwrap(parsed);
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
if (err instanceof HydraWrapperError)
|
|
200
|
+
throw err;
|
|
201
|
+
// Distinguish our own deadline from the caller's cancellation: they
|
|
202
|
+
// need different actions, and "aborted" alone says neither.
|
|
203
|
+
if (err instanceof Error && err.name === "AbortError") {
|
|
204
|
+
if (opts?.signal?.aborted) {
|
|
205
|
+
throw new HydraWrapperError(`Hydra DB ${path} → ERR: request cancelled by the caller`, path, { cause: err });
|
|
206
|
+
}
|
|
207
|
+
throw new HydraWrapperError(`Hydra DB ${path} → ERR: request timed out after ${this.timeoutMs / 1000}s`, path, { cause: err });
|
|
208
|
+
}
|
|
209
|
+
throw translateError(path, err);
|
|
210
|
+
}
|
|
211
|
+
finally {
|
|
212
|
+
clearTimeout(timer);
|
|
213
|
+
opts?.signal?.removeEventListener("abort", onAbort);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/hydra/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/hydra/index.d.ts
CHANGED
|
@@ -7,5 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export { HydraDB, ContextResource, DatabasesResource, DEFAULT_TIMEOUT_SECONDS, DEFAULT_MAX_RETRIES, } from "./client.js";
|
|
9
9
|
export type { HydraConfig, ContextKind, RequestOptions, QueryKind, ConversationTurn, QueryParams, IngestParams, ListParams, InspectParams, IngestionStatusParams, RelationsParams, DeleteParams, CreateDatabaseParams, } from "./client.js";
|
|
10
|
-
export {
|
|
10
|
+
export { GraphResource } from "./graph.js";
|
|
11
|
+
export type { GraphConfig, GraphQueryParams, GraphScopeParams, GraphRow, } from "./graph.js";
|
|
12
|
+
export { HydraWrapperError, responseError, translateError } from "./errors.js";
|
|
13
|
+
export { assertCollectionAllowed, assertDatabaseAllowed, DatabaseNotAllowedError, ScopeNotAllowedError, } from "./client.js";
|
|
11
14
|
export { unwrap } from "./envelope.js";
|
package/dist/hydra/index.js
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* other client repos (per CONTRACT.md).
|
|
7
7
|
*/
|
|
8
8
|
export { HydraDB, ContextResource, DatabasesResource, DEFAULT_TIMEOUT_SECONDS, DEFAULT_MAX_RETRIES, } from "./client.js";
|
|
9
|
-
export {
|
|
9
|
+
export { GraphResource } from "./graph.js";
|
|
10
|
+
export { HydraWrapperError, responseError, translateError } from "./errors.js";
|
|
11
|
+
export { assertCollectionAllowed, assertDatabaseAllowed, DatabaseNotAllowedError, ScopeNotAllowedError, } from "./client.js";
|
|
10
12
|
export { unwrap } from "./envelope.js";
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
package/dist/hydra/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hydra/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACN,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,aAAa,CAAC;AAgBrB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hydra/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACN,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACnB,MAAM,aAAa,CAAC;AAgBrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAO3C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EACN,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC"}
|