@x12i/memorix-client-api 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/HANDOVER.md +13 -2
  2. package/dist/agent-directory.d.ts +25 -0
  3. package/dist/agent-directory.d.ts.map +1 -0
  4. package/dist/agent-directory.js +75 -0
  5. package/dist/agent-directory.js.map +1 -0
  6. package/dist/app.d.ts +31 -6
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +285 -61
  9. package/dist/app.js.map +1 -1
  10. package/dist/authix.d.ts +28 -2
  11. package/dist/authix.d.ts.map +1 -1
  12. package/dist/authix.js +55 -4
  13. package/dist/authix.js.map +1 -1
  14. package/dist/catalog.d.ts +33 -1
  15. package/dist/catalog.d.ts.map +1 -1
  16. package/dist/catalog.js +83 -4
  17. package/dist/catalog.js.map +1 -1
  18. package/dist/cli.js +11 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config.d.ts +9 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +31 -0
  23. package/dist/config.js.map +1 -1
  24. package/dist/errors.d.ts +16 -2
  25. package/dist/errors.d.ts.map +1 -1
  26. package/dist/errors.js +16 -2
  27. package/dist/errors.js.map +1 -1
  28. package/dist/fetch.d.ts.map +1 -1
  29. package/dist/fetch.js +27 -3
  30. package/dist/fetch.js.map +1 -1
  31. package/dist/peers.d.ts +2 -2
  32. package/dist/peers.d.ts.map +1 -1
  33. package/dist/peers.js +4 -4
  34. package/dist/peers.js.map +1 -1
  35. package/dist/refs.d.ts +7 -1
  36. package/dist/refs.d.ts.map +1 -1
  37. package/dist/refs.js +36 -26
  38. package/dist/refs.js.map +1 -1
  39. package/dist/scope.d.ts +25 -2
  40. package/dist/scope.d.ts.map +1 -1
  41. package/dist/scope.js +71 -4
  42. package/dist/scope.js.map +1 -1
  43. package/dist/scoper-embedded.d.ts +29 -0
  44. package/dist/scoper-embedded.d.ts.map +1 -0
  45. package/dist/scoper-embedded.js +239 -0
  46. package/dist/scoper-embedded.js.map +1 -0
  47. package/dist/scoper.d.ts +19 -27
  48. package/dist/scoper.d.ts.map +1 -1
  49. package/dist/scoper.js +51 -254
  50. package/dist/scoper.js.map +1 -1
  51. package/dist/upstream.d.ts +6 -1
  52. package/dist/upstream.d.ts.map +1 -1
  53. package/dist/upstream.js +22 -4
  54. package/dist/upstream.js.map +1 -1
  55. package/dist/v1/census.d.ts +63 -0
  56. package/dist/v1/census.d.ts.map +1 -0
  57. package/dist/v1/census.js +154 -0
  58. package/dist/v1/census.js.map +1 -0
  59. package/dist/v1/content.d.ts +48 -0
  60. package/dist/v1/content.d.ts.map +1 -0
  61. package/dist/v1/content.js +323 -0
  62. package/dist/v1/content.js.map +1 -0
  63. package/dist/v1/context.d.ts +50 -0
  64. package/dist/v1/context.d.ts.map +1 -0
  65. package/dist/v1/context.js +4 -0
  66. package/dist/v1/context.js.map +1 -0
  67. package/dist/v1/directory.d.ts +26 -0
  68. package/dist/v1/directory.d.ts.map +1 -0
  69. package/dist/v1/directory.js +89 -0
  70. package/dist/v1/directory.js.map +1 -0
  71. package/dist/v1/discovery.d.ts +24 -0
  72. package/dist/v1/discovery.d.ts.map +1 -0
  73. package/dist/v1/discovery.js +166 -0
  74. package/dist/v1/discovery.js.map +1 -0
  75. package/dist/v1/gaps.d.ts +18 -0
  76. package/dist/v1/gaps.d.ts.map +1 -0
  77. package/dist/v1/gaps.js +2 -0
  78. package/dist/v1/gaps.js.map +1 -0
  79. package/dist/v1/http.d.ts +18 -0
  80. package/dist/v1/http.d.ts.map +1 -0
  81. package/dist/v1/http.js +105 -0
  82. package/dist/v1/http.js.map +1 -0
  83. package/dist/v1/mapping.d.ts +161 -0
  84. package/dist/v1/mapping.d.ts.map +1 -0
  85. package/dist/v1/mapping.js +402 -0
  86. package/dist/v1/mapping.js.map +1 -0
  87. package/dist/v1/planning-store.d.ts +74 -0
  88. package/dist/v1/planning-store.d.ts.map +1 -0
  89. package/dist/v1/planning-store.js +192 -0
  90. package/dist/v1/planning-store.js.map +1 -0
  91. package/dist/v1/planning.d.ts +5 -0
  92. package/dist/v1/planning.d.ts.map +1 -0
  93. package/dist/v1/planning.js +297 -0
  94. package/dist/v1/planning.js.map +1 -0
  95. package/dist/v1/records.d.ts +18 -0
  96. package/dist/v1/records.d.ts.map +1 -0
  97. package/dist/v1/records.js +42 -0
  98. package/dist/v1/records.js.map +1 -0
  99. package/dist/v1/relationships.d.ts +72 -0
  100. package/dist/v1/relationships.d.ts.map +1 -0
  101. package/dist/v1/relationships.js +436 -0
  102. package/dist/v1/relationships.js.map +1 -0
  103. package/dist/v1/routes.d.ts +5 -0
  104. package/dist/v1/routes.d.ts.map +1 -0
  105. package/dist/v1/routes.js +16 -0
  106. package/dist/v1/routes.js.map +1 -0
  107. package/dist/v1/sources.d.ts +62 -0
  108. package/dist/v1/sources.d.ts.map +1 -0
  109. package/dist/v1/sources.js +218 -0
  110. package/dist/v1/sources.js.map +1 -0
  111. package/openapi/openapi.json +3616 -480
  112. package/package.json +74 -74
package/dist/scoper.js CHANGED
@@ -1,11 +1,9 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { createScoper, createScoperMcpServer, dispatcherOptionsFromEnv, SCOPER_MCP_TOOL_NAMES, } from "@x12i/memorix-scoper";
3
- import { isScoperError, ScopeRequestSchema, SubjectDataRequestSchema, } from "@x12i/memorix-scoper-contracts";
4
- import { parseObjectTypeCatalog, readSubjectData } from "@x12i/memorix-scoper-sdk";
5
- import { createMemorixClient, MemorixClientError, } from "@x12i/memorix-client";
6
- import { ScoperError } from "@x12i/memorix-scoper-contracts";
7
2
  import { ApiError } from "./errors.js";
8
- /** Published packages this process hosts. Skills 0.6.1 uses the same Scoper. */
3
+ /**
4
+ * Published packages the embedded host runs. Skills 0.6.1 uses the same Scoper.
5
+ * This module imports none of them. `scoper-embedded.ts` does, and loads only when a process hosts Scoper.
6
+ */
9
7
  export const SCOPER_RELEASE = {
10
8
  package: "@x12i/memorix-scoper",
11
9
  version: "3.0.0",
@@ -17,169 +15,18 @@ export const SCOPER_RELEASE = {
17
15
  client: "3.17.0",
18
16
  aiDispatcher: "3.2.0",
19
17
  };
20
- export { SCOPER_MCP_TOOL_NAMES };
18
+ /** Tools on `POST /api/v1/mcp/scoper`. A Scoper peer serves the same names. */
19
+ export const SCOPER_MCP_TOOL_NAMES = [
20
+ "catalog",
21
+ "subjects_list",
22
+ "subjects_query",
23
+ "subject_data",
24
+ "scope",
25
+ "intents",
26
+ "intent_scope",
27
+ ];
21
28
  const MCP_METHODS = ["initialize", "tools/list", "tools/call", "ping"];
22
29
  const UNTRUSTED = ["orgId", "agentIds", "caller", "credentials", "token", "memorixBaseUrl"];
23
- export async function createScoperHost(options) {
24
- const reasoner = options.reasoner ?? "scripted";
25
- const functionsDir = options.functionsDir?.trim() || undefined;
26
- const functions = functionsDir
27
- ? await loadFunctions(functionsDir, options.functionsPackage, options.learnFunctions === true)
28
- : undefined;
29
- const env = options.env ?? process.env;
30
- const scoper = options.scoper ??
31
- createScoper({
32
- sdkConfig: {
33
- memorixBaseUrls: [options.memorixUrl.replace(/\/+$/, "")],
34
- createMemorixClient: ({ baseUrl, context, headers }) => memorixScoperTransport(createMemorixClient({
35
- baseUrl,
36
- orgId: context.orgId,
37
- agentIds: [...context.agentIds],
38
- caller: context.caller,
39
- ...deploymentOf(headers),
40
- })),
41
- },
42
- reasonerKind: reasoner,
43
- ...(reasoner === "ai-dispatcher"
44
- ? {
45
- aiDispatcher: {
46
- dispatcherOptions: dispatcherOptionsFromEnv(env),
47
- model: env.SCOPER_AI_MODEL?.trim() || "openai/gpt-6-luna",
48
- ...providerOf(env.SCOPER_AI_PROVIDER),
49
- },
50
- }
51
- : {}),
52
- ...(functions ? { functions } : {}),
53
- });
54
- const info = {
55
- package: SCOPER_RELEASE.package,
56
- version: SCOPER_RELEASE.version,
57
- sdk: SCOPER_RELEASE.sdk,
58
- functionsPackage: SCOPER_RELEASE.functionsPackage,
59
- pagx: SCOPER_RELEASE.pagx,
60
- reasoner,
61
- functions: Boolean(functions),
62
- aligned: {
63
- memorixService: SCOPER_RELEASE.service,
64
- memorixSkills: SCOPER_RELEASE.skills,
65
- memorixClient: SCOPER_RELEASE.client,
66
- aiDispatcher: SCOPER_RELEASE.aiDispatcher,
67
- },
68
- mode: "embedded",
69
- source: options.peer?.source ?? "@x12i/memorix-scoper",
70
- };
71
- return {
72
- info,
73
- scope(scope, body, traceId) {
74
- const request = ScopeRequestSchema.parse(stripUntrusted(body));
75
- return scoper.scope(request, contextOf(scope, traceId));
76
- },
77
- async subjectData(scope, body, traceId) {
78
- const request = SubjectDataRequestSchema.parse(stripUntrusted(body));
79
- const context = contextOf(scope, traceId);
80
- return readSubjectData(scoper.deps.sdk.forContext(context), request);
81
- },
82
- async tools(scope, traceId) {
83
- const server = mcpServer(scoper, scope, traceId);
84
- const tools = server.listTools ? await server.listTools() : server.tools;
85
- return tools;
86
- },
87
- async callTool(scope, traceId, name, args) {
88
- return mcpServer(scoper, scope, traceId).callTool(name, stripUntrustedRecord(args));
89
- },
90
- };
91
- }
92
- /**
93
- * Scoper data access goes through `@x12i/memorix-client`.
94
- * The SDK calls this instead of its own fetch.
95
- */
96
- export function memorixScoperTransport(client) {
97
- return {
98
- async listObjectTypes() {
99
- try {
100
- return parseObjectTypeCatalog(await client.listObjectTypeKinds());
101
- }
102
- catch (err) {
103
- throw transportError(err, "listObjectTypes");
104
- }
105
- },
106
- async getContent({ objectType, contentType, id, include }) {
107
- try {
108
- const body = asRecord(await client.explore.getContent({
109
- objectType,
110
- contentType,
111
- recordId: id,
112
- ...(include?.markdown === true ? { include: { markdown: true } } : {}),
113
- }));
114
- return { record: asRecord(body?.record) };
115
- }
116
- catch (err) {
117
- throw transportError(err, "getContent");
118
- }
119
- },
120
- async listContent({ objectType, contentType, limit, cursor, include }) {
121
- try {
122
- const body = asRecord(await client.explore.listContent({
123
- objectType,
124
- contentType,
125
- ...(limit != null ? { limit } : {}),
126
- ...(cursor ? { cursor } : {}),
127
- ...(include?.markdown === true ? { include: { markdown: true } } : {}),
128
- }));
129
- const records = Array.isArray(body?.records)
130
- ? body.records.filter((row) => isRecord(row))
131
- : [];
132
- const page = asRecord(body?.pageInfo);
133
- const nextCursor = typeof page?.nextCursor === "string" ? page.nextCursor : null;
134
- return { records, nextCursor };
135
- }
136
- catch (err) {
137
- throw transportError(err, "listContent");
138
- }
139
- },
140
- async composeContent({ recordId, contentTypes }) {
141
- try {
142
- const body = await client.explore.composeData({
143
- recordId,
144
- explicit: true,
145
- ...(contentTypes?.length ? { contentTypes } : {}),
146
- });
147
- return {
148
- found: true,
149
- objectType: body.objectType ?? null,
150
- contents: body.contents ?? {},
151
- };
152
- }
153
- catch (err) {
154
- if (isNotFound(err)) {
155
- return {
156
- found: false,
157
- code: "READ_NOT_FOUND",
158
- message: err instanceof Error ? err.message : "subject not found",
159
- };
160
- }
161
- throw transportError(err, "composeContent");
162
- }
163
- },
164
- async patchMarkdown({ objectType, contentType, id, revision, markdown }) {
165
- try {
166
- await client.explore.writeContent({
167
- objectType,
168
- contentType,
169
- op: "patch",
170
- precondition: { kind: "revision", revision },
171
- expectedRevision: revision,
172
- record: { recordId: id },
173
- patch: [{ op: "set", path: "_markdown", value: markdown }],
174
- });
175
- return { written: true };
176
- }
177
- catch (err) {
178
- throw transportError(err, "patchMarkdown");
179
- }
180
- },
181
- };
182
- }
183
30
  /** Proxy scope, subject data, and MCP tool calls. This process does not build a Scoper. */
184
31
  export function createExternalScoperHost(peer, fetchImpl = fetch) {
185
32
  const detail = peer.detail ?? {};
@@ -205,33 +52,33 @@ export function createExternalScoperHost(peer, fetchImpl = fetch) {
205
52
  const base = (peer.baseUrl ?? "").replace(/\/+$/, "");
206
53
  return {
207
54
  info,
208
- scope(scope, body, traceId) {
55
+ scope(scope, body, call) {
209
56
  return proxyJson(fetchImpl, `${base}/api/v1/scoper/scope`, {
210
57
  method: "POST",
211
- headers: jsonHeaders(scope, traceId),
58
+ headers: jsonHeaders(scope, call),
212
59
  body: JSON.stringify(body ?? {}),
213
60
  });
214
61
  },
215
- subjectData(scope, body, traceId) {
62
+ subjectData(scope, body, call) {
216
63
  return proxyJson(fetchImpl, `${base}/api/v1/scoper/subject-data`, {
217
64
  method: "POST",
218
- headers: jsonHeaders(scope, traceId),
65
+ headers: jsonHeaders(scope, call),
219
66
  body: JSON.stringify(body ?? {}),
220
67
  });
221
68
  },
222
- async tools(scope, traceId) {
69
+ async tools(scope, call) {
223
70
  const body = asRecord(await proxyJson(fetchImpl, `${base}/api/v1/mcp/scoper`, {
224
71
  method: "POST",
225
- headers: jsonHeaders(scope, traceId),
72
+ headers: jsonHeaders(scope, call),
226
73
  body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/list" }),
227
74
  }));
228
75
  const result = asRecord(body?.result);
229
76
  return result?.tools ?? [];
230
77
  },
231
- async callTool(scope, traceId, name, args) {
78
+ async callTool(scope, call, name, args) {
232
79
  const body = asRecord(await proxyJson(fetchImpl, `${base}/api/v1/mcp/scoper`, {
233
80
  method: "POST",
234
- headers: jsonHeaders(scope, traceId),
81
+ headers: jsonHeaders(scope, call),
235
82
  body: JSON.stringify({
236
83
  jsonrpc: "2.0",
237
84
  id: 1,
@@ -250,11 +97,11 @@ export function registerScoperRoutes(app, options) {
250
97
  });
251
98
  app.post("/api/v1/scoper/scope", async (req) => {
252
99
  const scope = await options.scopeFor(req);
253
- return run(() => options.host.scope(scope, stripUntrusted(req.body ?? {}), traceIdOf(req)));
100
+ return run(() => options.host.scope(scope, stripUntrusted(req.body ?? {}), callOf(req)));
254
101
  });
255
102
  app.post("/api/v1/scoper/subject-data", async (req) => {
256
103
  const scope = await options.scopeFor(req);
257
- return run(() => options.host.subjectData(scope, stripUntrusted(req.body ?? {}), traceIdOf(req)));
104
+ return run(() => options.host.subjectData(scope, stripUntrusted(req.body ?? {}), callOf(req)));
258
105
  });
259
106
  app.get("/api/v1/mcp/scoper", async (req) => {
260
107
  await options.scopeFor(req);
@@ -270,44 +117,22 @@ export function registerScoperRoutes(app, options) {
270
117
  });
271
118
  app.post("/api/v1/mcp/scoper", async (req, reply) => {
272
119
  const scope = await options.scopeFor(req);
273
- await handleMcp(options.host, scope, traceIdOf(req), req.body, reply);
274
- });
275
- }
276
- async function loadFunctions(dir, packageName, learn) {
277
- const mod = await import("@x12i/memorix-scoper-functions");
278
- return mod.createScopeFunctions({
279
- dir,
280
- learn,
281
- ...(packageName?.trim() ? { packageName: packageName.trim() } : {}),
282
- });
283
- }
284
- function providerOf(raw) {
285
- const provider = raw?.trim();
286
- if (provider === "openrouter" || provider === "bedrock" || provider === "openai")
287
- return { provider };
288
- return {};
289
- }
290
- function mcpServer(scoper, scope, traceId) {
291
- return createScoperMcpServer({
292
- scoper,
293
- context: contextOf(scope, traceId),
120
+ await handleMcp(options.host, scope, callOf(req), req.body, reply);
294
121
  });
295
122
  }
296
- function contextOf(scope, traceId) {
297
- return {
298
- orgId: scope.orgId,
299
- agentIds: scope.agentIds,
300
- caller: scope.caller,
301
- traceId,
302
- };
303
- }
304
- function traceIdOf(req) {
305
- const header = req.headers["x-trace-id"];
306
- const value = Array.isArray(header) ? header[0] : header;
307
- const trimmed = value?.trim();
308
- return trimmed || randomUUID();
123
+ /** HTTP status for a Scoper error code. A peer and the embedded host map codes the same way. */
124
+ export function scoperErrorStatus(code) {
125
+ if (code === "UNAUTHORIZED")
126
+ return 401;
127
+ if (code === "FORBIDDEN")
128
+ return 403;
129
+ if (code === "NOT_FOUND" || code === "READ_NOT_FOUND")
130
+ return 404;
131
+ if (code === "INVALID_REQUEST" || code === "REASONER_INVALID_PLAN")
132
+ return 400;
133
+ return 500;
309
134
  }
310
- function stripUntrusted(body) {
135
+ export function stripUntrusted(body) {
311
136
  if (!body || typeof body !== "object" || Array.isArray(body))
312
137
  return body;
313
138
  const out = {};
@@ -317,12 +142,19 @@ function stripUntrusted(body) {
317
142
  }
318
143
  return out;
319
144
  }
320
- function stripUntrustedRecord(args) {
145
+ export function stripUntrustedRecord(args) {
321
146
  const stripped = stripUntrusted(args);
322
147
  return stripped && typeof stripped === "object" && !Array.isArray(stripped)
323
148
  ? stripped
324
149
  : {};
325
150
  }
151
+ function callOf(req) {
152
+ const authorization = headerValue(req.headers.authorization);
153
+ return { traceId: traceIdOf(req), ...(authorization ? { authorization } : {}) };
154
+ }
155
+ function traceIdOf(req) {
156
+ return headerValue(req.headers["x-trace-id"]) || randomUUID();
157
+ }
326
158
  async function run(call) {
327
159
  try {
328
160
  return await call();
@@ -334,22 +166,10 @@ async function run(call) {
334
166
  function scoperFailure(err) {
335
167
  if (err instanceof ApiError)
336
168
  return err;
337
- if (isScoperError(err)) {
338
- const status = err.code === "UNAUTHORIZED"
339
- ? 401
340
- : err.code === "FORBIDDEN"
341
- ? 403
342
- : err.code === "NOT_FOUND" || err.code === "READ_NOT_FOUND"
343
- ? 404
344
- : err.code === "INVALID_REQUEST" || err.code === "REASONER_INVALID_PLAN"
345
- ? 400
346
- : 500;
347
- return new ApiError(status, err.code, err.message);
348
- }
349
169
  const message = err instanceof Error ? err.message : String(err);
350
170
  return new ApiError(400, "INVALID_REQUEST", message);
351
171
  }
352
- async function handleMcp(host, scope, traceId, body, reply) {
172
+ async function handleMcp(host, scope, call, body, reply) {
353
173
  if (!body || typeof body !== "object" || Array.isArray(body)) {
354
174
  await reply.status(400).send(jsonRpcError(null, -32600, "invalid request"));
355
175
  return;
@@ -378,7 +198,7 @@ async function handleMcp(host, scope, traceId, body, reply) {
378
198
  }
379
199
  try {
380
200
  if (method === "tools/list") {
381
- await reply.send(jsonRpc(msg.id, { tools: await host.tools(scope, traceId) }));
201
+ await reply.send(jsonRpc(msg.id, { tools: await host.tools(scope, call) }));
382
202
  return;
383
203
  }
384
204
  const params = (msg.params ?? {});
@@ -386,7 +206,7 @@ async function handleMcp(host, scope, traceId, body, reply) {
386
206
  const args = params.arguments && typeof params.arguments === "object" && !Array.isArray(params.arguments)
387
207
  ? params.arguments
388
208
  : {};
389
- const result = await host.callTool(scope, traceId, name, stripUntrustedRecord(args));
209
+ const result = await host.callTool(scope, call, name, stripUntrustedRecord(args));
390
210
  await reply.send(jsonRpc(msg.id, result));
391
211
  }
392
212
  catch (err) {
@@ -411,44 +231,21 @@ function headerValue(value) {
411
231
  const trimmed = raw?.trim();
412
232
  return trimmed || undefined;
413
233
  }
414
- function deploymentOf(headers) {
415
- const fromHeader = headers["x-memorix-deployment-identity"]?.trim();
416
- const fromEnv = process.env.MEMORIX_DEPLOYMENT_IDENTITY?.trim();
417
- const deploymentIdentity = fromHeader || fromEnv;
418
- return deploymentIdentity ? { deploymentIdentity } : {};
419
- }
420
234
  function isRecord(value) {
421
235
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
422
236
  }
423
237
  function asRecord(value) {
424
238
  return isRecord(value) ? value : null;
425
239
  }
426
- function isNotFound(err) {
427
- if (err instanceof MemorixClientError && err.statusCode === 404)
428
- return true;
429
- if (!err || typeof err !== "object")
430
- return false;
431
- const code = "code" in err ? String(err.code) : "";
432
- const status = "statusCode" in err ? Number(err.statusCode) : 0;
433
- return status === 404 || code === "READ_NOT_FOUND" || code === "NOT_FOUND";
434
- }
435
- function transportError(err, op) {
436
- if (err instanceof ScoperError)
437
- return err;
438
- if (isNotFound(err)) {
439
- return new ScoperError("READ_NOT_FOUND", `${op}: subject not found`);
440
- }
441
- const message = err instanceof Error ? err.message : String(err);
442
- return new ScoperError("UPSTREAM_UNAVAILABLE", `${op}: ${message}`, { retryable: true });
443
- }
444
- function jsonHeaders(scope, traceId) {
240
+ function jsonHeaders(scope, call) {
445
241
  return {
446
242
  accept: "application/json",
447
243
  "content-type": "application/json",
448
244
  "x-memorix-org-id": scope.orgId,
449
245
  "x-memorix-agent-ids": scope.agentIds.join(","),
450
246
  "x-memorix-caller": scope.caller,
451
- "x-trace-id": traceId,
247
+ "x-trace-id": call.traceId,
248
+ ...(call.authorization ? { authorization: call.authorization } : {}),
452
249
  };
453
250
  }
454
251
  async function proxyJson(fetchImpl, url, init) {
@@ -1 +1 @@
1
- {"version":3,"file":"scoper.js","sourceRoot":"","sources":["../src/scoper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoper.js","sourceRoot":"","sources":["../src/scoper.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,18 @@
1
+ import { UpstreamError } from "./errors.js";
1
2
  import type { ClientScope } from "./scope.js";
2
3
  export type UpstreamCall = {
4
+ /** Replaces the default timeout. */
3
5
  signal?: AbortSignal;
4
6
  };
5
7
  export type Upstream = {
6
8
  get(path: string, scope: ClientScope, init?: UpstreamCall): Promise<unknown>;
7
9
  post(path: string, scope: ClientScope, body: unknown, init?: UpstreamCall): Promise<unknown>;
8
10
  };
11
+ export declare const DEFAULT_UPSTREAM_TIMEOUT_MS = 30000;
9
12
  export declare function subjectDirectoryPath(recordId: string): string;
10
- export declare function createUpstream(memorixUrl: string, fetchImpl?: typeof fetch): Upstream;
13
+ export declare function createUpstream(memorixUrl: string, fetchImpl?: typeof fetch, timeoutMs?: number): Upstream;
11
14
  export declare function asRecord(value: unknown): Record<string, unknown> | null;
12
15
  export declare function requireRecord(value: unknown, message: string): Record<string, unknown>;
16
+ /** Memorix error code on an upstream body, when it sent one. */
17
+ export declare function upstreamCode(err: UpstreamError): string | undefined;
13
18
  //# sourceMappingURL=upstream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upstream.d.ts","sourceRoot":"","sources":["../src/upstream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9F,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,KAAa,GAAG,QAAQ,CA6C5F;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGvE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAItF"}
1
+ {"version":3,"file":"upstream.d.ts","sourceRoot":"","sources":["../src/upstream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,aAAa,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,oCAAoC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9F,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG7D;AAQD,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,OAAO,KAAa,EAC/B,SAAS,GAAE,MAAoC,GAC9C,QAAQ,CAmDV;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGvE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAItF;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAGnE"}
package/dist/upstream.js CHANGED
@@ -1,11 +1,19 @@
1
1
  import { ApiError, UpstreamError } from "./errors.js";
2
+ export const DEFAULT_UPSTREAM_TIMEOUT_MS = 30_000;
2
3
  export function subjectDirectoryPath(recordId) {
3
4
  const encoded = recordId.split("/").map((part) => encodeURIComponent(part)).join("/");
4
5
  return `/api/data/subjects/${encoded}`;
5
6
  }
6
- export function createUpstream(memorixUrl, fetchImpl = fetch) {
7
+ function isAbort(err) {
8
+ if (!err || typeof err !== "object")
9
+ return false;
10
+ const name = err.name;
11
+ return name === "TimeoutError" || name === "AbortError";
12
+ }
13
+ export function createUpstream(memorixUrl, fetchImpl = fetch, timeoutMs = DEFAULT_UPSTREAM_TIMEOUT_MS) {
7
14
  const base = memorixUrl.replace(/\/$/, "");
8
15
  async function call(method, path, scope, body, init) {
16
+ const signal = init?.signal ?? (timeoutMs > 0 ? AbortSignal.timeout(timeoutMs) : undefined);
9
17
  let res;
10
18
  try {
11
19
  res = await fetchImpl(`${base}${path}`, {
@@ -18,12 +26,17 @@ export function createUpstream(memorixUrl, fetchImpl = fetch) {
18
26
  "x-memorix-caller": scope.caller,
19
27
  },
20
28
  body: body === undefined ? undefined : JSON.stringify(body),
21
- signal: init?.signal,
29
+ signal,
22
30
  });
23
31
  }
24
32
  catch (err) {
33
+ if (!init?.signal && isAbort(err)) {
34
+ throw new ApiError(504, "UPSTREAM_TIMEOUT", `Memorix did not answer ${method} ${path.split("?")[0]} within ${timeoutMs}ms`, {
35
+ retryable: true,
36
+ });
37
+ }
25
38
  const message = err instanceof Error ? err.message : String(err);
26
- throw new UpstreamError(502, { error: { code: "UPSTREAM", message } });
39
+ throw new UpstreamError(503, { error: { code: "UPSTREAM_UNAVAILABLE", message, retryable: true } });
27
40
  }
28
41
  const text = await res.text();
29
42
  let parsed = null;
@@ -36,7 +49,7 @@ export function createUpstream(memorixUrl, fetchImpl = fetch) {
36
49
  }
37
50
  }
38
51
  if (!res.ok)
39
- throw new UpstreamError(res.status, parsed);
52
+ throw new UpstreamError(res.status, parsed, res.headers.get("retry-after") ?? undefined);
40
53
  return parsed;
41
54
  }
42
55
  return {
@@ -55,4 +68,9 @@ export function requireRecord(value, message) {
55
68
  throw new ApiError(502, "UPSTREAM", message);
56
69
  return record;
57
70
  }
71
+ /** Memorix error code on an upstream body, when it sent one. */
72
+ export function upstreamCode(err) {
73
+ const error = asRecord(asRecord(err.body)?.error);
74
+ return typeof error?.code === "string" ? error.code : undefined;
75
+ }
58
76
  //# sourceMappingURL=upstream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upstream.js","sourceRoot":"","sources":["../src/upstream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upstream.js","sourceRoot":"","sources":["../src/upstream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { ClientScope } from "../scope.js";
2
+ import { type Upstream } from "../upstream.js";
3
+ export type ExactCount = {
4
+ status: "exact";
5
+ value: number;
6
+ deletedExcluded?: boolean;
7
+ versionSemantics?: "current-head" | "directory" | "stored-links";
8
+ method: string;
9
+ observedAt?: string;
10
+ aggregated?: boolean;
11
+ };
12
+ export type UnavailableCount = {
13
+ status: "unavailable";
14
+ value: null;
15
+ reason: string;
16
+ retryable: boolean;
17
+ method?: string;
18
+ observedAt?: string;
19
+ aggregated?: boolean;
20
+ };
21
+ export type CountView = ExactCount | UnavailableCount;
22
+ export type CensusContentType = {
23
+ contentType: string;
24
+ rows: CountView;
25
+ /** On a conflicted object type: the agents whose definition names this content type. */
26
+ definedByAgentIds?: string[];
27
+ /** On a conflicted object type whose alternates disagree on the category. */
28
+ dataCategory?: string;
29
+ };
30
+ export type CensusObjectType = {
31
+ objectType: string;
32
+ dataCategory: string | null;
33
+ resolution?: "conflict";
34
+ records: CountView;
35
+ recordsWithoutContent: CountView;
36
+ observedAt?: string;
37
+ contentTypes: CensusContentType[];
38
+ };
39
+ export type CensusSnapshot = {
40
+ observedAt: string;
41
+ ok: boolean;
42
+ partial: boolean;
43
+ unresolvedAgentIds: string[];
44
+ issues: Array<{
45
+ code: string;
46
+ message?: string;
47
+ agentId?: string;
48
+ }>;
49
+ objectTypes: CensusObjectType[];
50
+ };
51
+ export type CensusService = {
52
+ /** Census for the scope's org and agents. Reused for `ttl` unless `refresh`. */
53
+ get(scope: ClientScope, options?: {
54
+ refresh?: boolean;
55
+ }): Promise<CensusSnapshot>;
56
+ /** Cached census for the scope, without reading Memorix. */
57
+ peek(scope: ClientScope): CensusSnapshot | null;
58
+ };
59
+ export declare function unavailable(reason: string, retryable: boolean, extra?: Partial<UnavailableCount>): UnavailableCount;
60
+ /** Normalize `GET /api/data/census` (service 3.19.1). */
61
+ export declare function censusFromMemorix(body: unknown): CensusSnapshot;
62
+ export declare function createCensusService(upstream: Upstream, ttlMs?: number): CensusService;
63
+ //# sourceMappingURL=census.d.ts.map