@x12i/memorix-client-api 0.0.0-stage → 0.17.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 (108) hide show
  1. package/HANDOVER.md +97 -0
  2. package/dist/app.d.ts +64 -0
  3. package/dist/app.d.ts.map +1 -0
  4. package/dist/app.js +412 -0
  5. package/dist/app.js.map +1 -0
  6. package/dist/authix.d.ts +9 -0
  7. package/dist/authix.d.ts.map +1 -0
  8. package/dist/authix.js +26 -0
  9. package/dist/authix.js.map +1 -0
  10. package/dist/catalog.d.ts +160 -0
  11. package/dist/catalog.d.ts.map +1 -0
  12. package/dist/catalog.js +371 -0
  13. package/dist/catalog.js.map +1 -0
  14. package/dist/cli.d.ts +2 -0
  15. package/dist/cli.d.ts.map +1 -0
  16. package/dist/cli.js +102 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/config.d.ts +33 -0
  19. package/dist/config.d.ts.map +1 -0
  20. package/dist/config.js +109 -0
  21. package/dist/config.js.map +1 -0
  22. package/dist/derived.d.ts +2 -0
  23. package/dist/derived.d.ts.map +1 -0
  24. package/dist/derived.js +35 -0
  25. package/dist/derived.js.map +1 -0
  26. package/dist/errors.d.ts +11 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +21 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/fetch.d.ts +17 -0
  31. package/dist/fetch.d.ts.map +1 -0
  32. package/dist/fetch.js +741 -0
  33. package/dist/fetch.js.map +1 -0
  34. package/dist/index.d.ts +4 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +4 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/live-ops-nav.d.ts +2 -0
  39. package/dist/live-ops-nav.d.ts.map +1 -0
  40. package/dist/live-ops-nav.js +42 -0
  41. package/dist/live-ops-nav.js.map +1 -0
  42. package/dist/live.d.ts +20 -0
  43. package/dist/live.d.ts.map +1 -0
  44. package/dist/live.js +8 -0
  45. package/dist/live.js.map +1 -0
  46. package/dist/markdown.d.ts +19 -0
  47. package/dist/markdown.d.ts.map +1 -0
  48. package/dist/markdown.js +102 -0
  49. package/dist/markdown.js.map +1 -0
  50. package/dist/peers.d.ts +51 -0
  51. package/dist/peers.d.ts.map +1 -0
  52. package/dist/peers.js +127 -0
  53. package/dist/peers.js.map +1 -0
  54. package/dist/processed.d.ts +22 -0
  55. package/dist/processed.d.ts.map +1 -0
  56. package/dist/processed.js +397 -0
  57. package/dist/processed.js.map +1 -0
  58. package/dist/project.d.ts +25 -0
  59. package/dist/project.d.ts.map +1 -0
  60. package/dist/project.js +76 -0
  61. package/dist/project.js.map +1 -0
  62. package/dist/reads-live-routes.d.ts +4 -0
  63. package/dist/reads-live-routes.d.ts.map +1 -0
  64. package/dist/reads-live-routes.js +56 -0
  65. package/dist/reads-live-routes.js.map +1 -0
  66. package/dist/reads-live-ui.d.ts +3 -0
  67. package/dist/reads-live-ui.d.ts.map +1 -0
  68. package/dist/reads-live-ui.js +204 -0
  69. package/dist/reads-live-ui.js.map +1 -0
  70. package/dist/reads-ring.d.ts +29 -0
  71. package/dist/reads-ring.d.ts.map +1 -0
  72. package/dist/reads-ring.js +44 -0
  73. package/dist/reads-ring.js.map +1 -0
  74. package/dist/refs.d.ts +24 -0
  75. package/dist/refs.d.ts.map +1 -0
  76. package/dist/refs.js +354 -0
  77. package/dist/refs.js.map +1 -0
  78. package/dist/request-countex.d.ts +53 -0
  79. package/dist/request-countex.d.ts.map +1 -0
  80. package/dist/request-countex.js +171 -0
  81. package/dist/request-countex.js.map +1 -0
  82. package/dist/scope.d.ts +13 -0
  83. package/dist/scope.d.ts.map +1 -0
  84. package/dist/scope.js +46 -0
  85. package/dist/scope.js.map +1 -0
  86. package/dist/scoper.d.ts +75 -0
  87. package/dist/scoper.d.ts.map +1 -0
  88. package/dist/scoper.js +475 -0
  89. package/dist/scoper.js.map +1 -0
  90. package/dist/shaped-refs.d.ts +23 -0
  91. package/dist/shaped-refs.d.ts.map +1 -0
  92. package/dist/shaped-refs.js +395 -0
  93. package/dist/shaped-refs.js.map +1 -0
  94. package/dist/skills.d.ts +102 -0
  95. package/dist/skills.d.ts.map +1 -0
  96. package/dist/skills.js +609 -0
  97. package/dist/skills.js.map +1 -0
  98. package/dist/story.d.ts +43 -0
  99. package/dist/story.d.ts.map +1 -0
  100. package/dist/story.js +121 -0
  101. package/dist/story.js.map +1 -0
  102. package/dist/upstream.d.ts +13 -0
  103. package/dist/upstream.d.ts.map +1 -0
  104. package/dist/upstream.js +58 -0
  105. package/dist/upstream.js.map +1 -0
  106. package/openapi/openapi.json +480 -0
  107. package/package.json +67 -6
  108. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.js","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * In-process caller and route aggregates for GET /_live/api/request-stats.
3
+ * Memory only. /health and /_live are not counted.
4
+ */
5
+ import type { FastifyInstance } from "fastify";
6
+ export declare const HTTP_REQUESTS_COUNTER_ID = "http_requests";
7
+ export type RequestStatsRow = {
8
+ caller: string;
9
+ method?: string;
10
+ route?: string;
11
+ statusClass?: string;
12
+ count: number;
13
+ latencyAvgMs?: number;
14
+ latencySumMs?: number;
15
+ lastAt?: string;
16
+ lastCaller?: string;
17
+ lastStatusCode?: number;
18
+ lastLatencyMs?: number;
19
+ };
20
+ export type LastCallRow = {
21
+ caller: string;
22
+ method: string;
23
+ route: string;
24
+ statusCode: number;
25
+ statusClass: string;
26
+ latencyMs: number;
27
+ at: string;
28
+ };
29
+ export type RequestStatsPayload = {
30
+ ok: true;
31
+ enabled: true;
32
+ storage: "memory";
33
+ counterId: string;
34
+ callers: RequestStatsRow[];
35
+ apis: RequestStatsRow[];
36
+ byCaller: RequestStatsRow[];
37
+ byCallerRoute: RequestStatsRow[];
38
+ byCallerMinute: RequestStatsRow[];
39
+ byCallerHour: RequestStatsRow[];
40
+ lastCalls: LastCallRow[];
41
+ windows: {
42
+ all: true;
43
+ hour: string;
44
+ minute: string;
45
+ };
46
+ };
47
+ export declare function attachRequestCountex(app: FastifyInstance): {
48
+ queryStats: () => RequestStatsPayload;
49
+ };
50
+ export declare function registerRequestStatsRoute(app: FastifyInstance, handle: {
51
+ queryStats: () => RequestStatsPayload;
52
+ }): void;
53
+ //# sourceMappingURL=request-countex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-countex.d.ts","sourceRoot":"","sources":["../src/request-countex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAE7E,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAyBxD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD,CAAC;AAgFF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG;IAC1D,UAAU,EAAE,MAAM,mBAAmB,CAAC;CACvC,CAkGA;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;CAAE,GAChD,IAAI,CAEN"}
@@ -0,0 +1,171 @@
1
+ export const HTTP_REQUESTS_COUNTER_ID = "http_requests";
2
+ function pad2(n) {
3
+ return String(n).padStart(2, "0");
4
+ }
5
+ function minuteKey(d) {
6
+ return `${d.getUTCFullYear()}-${pad2(d.getUTCMonth() + 1)}-${pad2(d.getUTCDate())}T${pad2(d.getUTCHours())}:${pad2(d.getUTCMinutes())}`;
7
+ }
8
+ function hourKey(d) {
9
+ return `${d.getUTCFullYear()}-${pad2(d.getUTCMonth() + 1)}-${pad2(d.getUTCDate())}T${pad2(d.getUTCHours())}`;
10
+ }
11
+ function statusClass(code) {
12
+ if (code >= 500)
13
+ return "5xx";
14
+ if (code >= 400)
15
+ return "4xx";
16
+ if (code >= 300)
17
+ return "3xx";
18
+ if (code >= 200)
19
+ return "2xx";
20
+ return "1xx";
21
+ }
22
+ function routeOf(req) {
23
+ const pattern = req.routeOptions?.url;
24
+ if (pattern && pattern !== "/*")
25
+ return pattern;
26
+ const path = (req.url?.split("?")[0] ?? req.url ?? "").trim() || "/";
27
+ return path.length > 200 ? `${path.slice(0, 200)}…` : path;
28
+ }
29
+ function countsAsApi(path) {
30
+ return path === "/api/v1" || path.startsWith("/api/v1/");
31
+ }
32
+ function headerValue(raw) {
33
+ const value = Array.isArray(raw) ? raw[0] : raw;
34
+ return typeof value === "string" ? value.trim() : "";
35
+ }
36
+ function bump(map, key, hit, seed) {
37
+ const row = map.get(key) ?? {
38
+ caller: hit.caller,
39
+ count: 0,
40
+ latencySumMs: 0,
41
+ lastAt: hit.at,
42
+ lastCaller: hit.caller,
43
+ lastStatusCode: hit.statusCode,
44
+ lastLatencyMs: hit.latencyMs,
45
+ ...seed,
46
+ };
47
+ row.count += 1;
48
+ row.latencySumMs += hit.latencyMs;
49
+ if (hit.at >= row.lastAt) {
50
+ row.lastAt = hit.at;
51
+ row.lastCaller = hit.caller;
52
+ row.lastStatusCode = hit.statusCode;
53
+ row.lastLatencyMs = hit.latencyMs;
54
+ }
55
+ map.set(key, row);
56
+ }
57
+ function toRows(map) {
58
+ return [...map.values()]
59
+ .map((row) => ({
60
+ caller: row.caller,
61
+ ...(row.method ? { method: row.method } : {}),
62
+ ...(row.route ? { route: row.route } : {}),
63
+ ...(row.statusClass ? { statusClass: row.statusClass } : {}),
64
+ count: row.count,
65
+ latencyAvgMs: row.count > 0 ? Math.round((row.latencySumMs / row.count) * 100) / 100 : 0,
66
+ latencySumMs: row.latencySumMs,
67
+ lastAt: row.lastAt,
68
+ lastCaller: row.lastCaller,
69
+ lastStatusCode: row.lastStatusCode,
70
+ lastLatencyMs: row.lastLatencyMs,
71
+ }))
72
+ .sort((a, b) => b.count - a.count || a.caller.localeCompare(b.caller));
73
+ }
74
+ export function attachRequestCountex(app) {
75
+ const callers = new Map();
76
+ const apis = new Map();
77
+ const byCaller = new Map();
78
+ const byCallerRoute = new Map();
79
+ const byMinute = new Map();
80
+ const byHour = new Map();
81
+ const lastByApi = new Map();
82
+ app.addHook("onRequest", async (req) => {
83
+ req._requestCountexStartedAt = Date.now();
84
+ });
85
+ app.addHook("onResponse", async (req, reply) => {
86
+ record(req, reply);
87
+ });
88
+ function record(req, reply) {
89
+ if (req.method === "OPTIONS")
90
+ return;
91
+ const path = (req.url?.split("?")[0] ?? "").trim() || "/";
92
+ if (!countsAsApi(path))
93
+ return;
94
+ const caller = headerValue(req.headers["x-memorix-caller"]) || "unknown";
95
+ const started = req._requestCountexStartedAt ?? Date.now();
96
+ const hit = {
97
+ caller,
98
+ method: req.method,
99
+ route: routeOf(req),
100
+ statusClass: statusClass(reply.statusCode),
101
+ statusCode: reply.statusCode,
102
+ latencyMs: Math.max(0, Date.now() - started),
103
+ at: new Date().toISOString(),
104
+ };
105
+ bump(callers, caller, hit, { caller });
106
+ bump(apis, `${hit.method}\0${hit.route}`, hit, {
107
+ method: hit.method,
108
+ route: hit.route,
109
+ });
110
+ bump(byCaller, `${caller}\0${hit.statusClass}`, hit, { statusClass: hit.statusClass });
111
+ bump(byCallerRoute, `${caller}\0${hit.method}\0${hit.route}\0${hit.statusClass}`, hit, { method: hit.method, route: hit.route, statusClass: hit.statusClass });
112
+ const now = new Date();
113
+ const minute = minuteKey(now);
114
+ const hour = hourKey(now);
115
+ for (const key of [...byMinute.keys()]) {
116
+ if (key !== minute)
117
+ byMinute.delete(key);
118
+ }
119
+ for (const key of [...byHour.keys()]) {
120
+ if (key !== hour)
121
+ byHour.delete(key);
122
+ }
123
+ const minuteMap = byMinute.get(minute) ?? new Map();
124
+ byMinute.set(minute, minuteMap);
125
+ bump(minuteMap, `${caller}\0${hit.method}\0${hit.route}`, hit, {
126
+ method: hit.method,
127
+ route: hit.route,
128
+ });
129
+ const hourMap = byHour.get(hour) ?? new Map();
130
+ byHour.set(hour, hourMap);
131
+ bump(hourMap, `${caller}\0${hit.method}\0${hit.route}`, hit, {
132
+ method: hit.method,
133
+ route: hit.route,
134
+ });
135
+ lastByApi.set(`${hit.method}\0${hit.route}`, {
136
+ caller: hit.caller,
137
+ method: hit.method,
138
+ route: hit.route,
139
+ statusCode: hit.statusCode,
140
+ statusClass: hit.statusClass,
141
+ latencyMs: hit.latencyMs,
142
+ at: hit.at,
143
+ });
144
+ }
145
+ return {
146
+ queryStats: () => {
147
+ const now = new Date();
148
+ const minute = minuteKey(now);
149
+ const hour = hourKey(now);
150
+ const lastCalls = [...lastByApi.values()].sort((a, b) => (a.at < b.at ? 1 : a.at > b.at ? -1 : 0));
151
+ return {
152
+ ok: true,
153
+ enabled: true,
154
+ storage: "memory",
155
+ counterId: HTTP_REQUESTS_COUNTER_ID,
156
+ callers: toRows(callers),
157
+ apis: toRows(apis),
158
+ byCaller: toRows(byCaller),
159
+ byCallerRoute: toRows(byCallerRoute),
160
+ byCallerMinute: toRows(byMinute.get(minute) ?? new Map()),
161
+ byCallerHour: toRows(byHour.get(hour) ?? new Map()),
162
+ lastCalls,
163
+ windows: { all: true, hour, minute },
164
+ };
165
+ },
166
+ };
167
+ }
168
+ export function registerRequestStatsRoute(app, handle) {
169
+ app.get("/_live/api/request-stats", async () => handle.queryStats());
170
+ }
171
+ //# sourceMappingURL=request-countex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-countex.js","sourceRoot":"","sources":["../src/request-countex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type ClientScope = {
2
+ orgId: string;
3
+ agentIds: string[];
4
+ caller: string;
5
+ };
6
+ /** Org carried by a verified Authix token. A request org must be one of these. */
7
+ export declare function orgFromToken(organizationIds: string[], requestedOrgId: string): string;
8
+ export declare function scopeFromHeaders(headers: Record<string, string | string[] | undefined>, orgId?: string): ClientScope;
9
+ export declare function scopeBody(scope: ClientScope): {
10
+ orgId: string;
11
+ agentIds: string[];
12
+ };
13
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAeF,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAiBtF;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,KAAK,SAAsC,GAC1C,WAAW,CAab;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAEnF"}
package/dist/scope.js ADDED
@@ -0,0 +1,46 @@
1
+ import { ApiError } from "./errors.js";
2
+ function header(headers, name) {
3
+ const raw = headers[name] ?? headers[name.toLowerCase()];
4
+ const value = Array.isArray(raw) ? raw[0] : raw;
5
+ return typeof value === "string" ? value.trim() : "";
6
+ }
7
+ function agentIdsOf(headers) {
8
+ return header(headers, "x-memorix-agent-ids")
9
+ .split(",")
10
+ .map((id) => id.trim())
11
+ .filter(Boolean);
12
+ }
13
+ /** Org carried by a verified Authix token. A request org must be one of these. */
14
+ export function orgFromToken(organizationIds, requestedOrgId) {
15
+ const orgs = organizationIds.map((id) => id.trim()).filter(Boolean);
16
+ if (orgs.length === 0) {
17
+ throw new ApiError(403, "SCOPE_FORBIDDEN", "token has no organization");
18
+ }
19
+ if (!requestedOrgId) {
20
+ if (orgs.length === 1)
21
+ return orgs[0];
22
+ throw new ApiError(400, "SCOPE_INVALID", "x-memorix-org-id is required when the token lists more than one organization");
23
+ }
24
+ if (!orgs.includes(requestedOrgId)) {
25
+ throw new ApiError(403, "SCOPE_FORBIDDEN", "token does not include this organization");
26
+ }
27
+ return requestedOrgId;
28
+ }
29
+ export function scopeFromHeaders(headers, orgId = header(headers, "x-memorix-org-id")) {
30
+ const agentIds = agentIdsOf(headers);
31
+ const caller = header(headers, "x-memorix-caller");
32
+ if (!orgId) {
33
+ throw new ApiError(400, "SCOPE_INVALID", "x-memorix-org-id is required");
34
+ }
35
+ if (agentIds.length === 0) {
36
+ throw new ApiError(400, "SCOPE_INVALID", "x-memorix-agent-ids is required");
37
+ }
38
+ if (!caller) {
39
+ throw new ApiError(400, "SCOPE_INVALID", "x-memorix-caller is required");
40
+ }
41
+ return { orgId, agentIds, caller };
42
+ }
43
+ export function scopeBody(scope) {
44
+ return { orgId: scope.orgId, agentIds: scope.agentIds };
45
+ }
46
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQvC,SAAS,MAAM,CAAC,OAAsD,EAAE,IAAY;IAClF,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,OAAsD;IACxE,OAAO,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC;SAC1C,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,eAAyB,EAAE,cAAsB;IAC5E,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAE,CAAC;QACvC,MAAM,IAAI,QAAQ,CAChB,GAAG,EACH,eAAe,EACf,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,0CAA0C,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAsD,EACtD,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAE3C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,iCAAiC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAkB;IAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { FastifyInstance, FastifyRequest } from "fastify";
2
+ import { SCOPER_MCP_TOOL_NAMES, type Scoper } from "@x12i/memorix-scoper";
3
+ import { type MemorixTransport } from "@x12i/memorix-scoper-sdk";
4
+ import { type MemorixClient } from "@x12i/memorix-client";
5
+ import type { PeerChoice } from "./peers.js";
6
+ import type { ClientScope } from "./scope.js";
7
+ import type { ScoperReasonerKind } from "./config.js";
8
+ /** Published packages this process hosts. Skills 0.6.1 uses the same Scoper. */
9
+ export declare const SCOPER_RELEASE: {
10
+ readonly package: "@x12i/memorix-scoper";
11
+ readonly version: "2.3.0";
12
+ readonly sdk: "2.1.2";
13
+ readonly functionsPackage: "0.2.0";
14
+ readonly pagx: "1.1.0";
15
+ readonly skills: "0.6.1";
16
+ readonly service: "3.17.0";
17
+ readonly client: "3.16.4";
18
+ readonly aiDispatcher: "3.2.0";
19
+ };
20
+ export { SCOPER_MCP_TOOL_NAMES };
21
+ export type { ScoperReasonerKind };
22
+ export type ScoperHostInfo = {
23
+ package: typeof SCOPER_RELEASE.package;
24
+ version: string;
25
+ sdk: string;
26
+ functionsPackage: string;
27
+ pagx: string;
28
+ reasoner: ScoperReasonerKind;
29
+ /** True when `createScoper({ functions })` received saved query and scope functions. */
30
+ functions: boolean;
31
+ aligned: {
32
+ memorixService: typeof SCOPER_RELEASE.service;
33
+ memorixSkills: typeof SCOPER_RELEASE.skills;
34
+ memorixClient: typeof SCOPER_RELEASE.client;
35
+ aiDispatcher: typeof SCOPER_RELEASE.aiDispatcher;
36
+ };
37
+ /** `embedded` hosts Scoper here. `external` proxies a compatible peer. */
38
+ mode?: "embedded" | "external";
39
+ source?: string;
40
+ /** Set when `mode` is `external`. */
41
+ baseUrl?: string;
42
+ };
43
+ export type ScoperHost = {
44
+ info: ScoperHostInfo;
45
+ scope(scope: ClientScope, body: unknown, traceId: string): Promise<unknown>;
46
+ subjectData(scope: ClientScope, body: unknown, traceId: string): Promise<unknown>;
47
+ tools(scope: ClientScope, traceId: string): Promise<unknown>;
48
+ callTool(scope: ClientScope, traceId: string, name: string, args: Record<string, unknown>): Promise<unknown>;
49
+ };
50
+ export type CreateScoperHostOptions = {
51
+ memorixUrl: string;
52
+ reasoner?: ScoperReasonerKind;
53
+ functionsDir?: string;
54
+ functionsPackage?: string;
55
+ /** Ask the coder to write a function on a miss. Default false. */
56
+ learnFunctions?: boolean;
57
+ env?: NodeJS.ProcessEnv;
58
+ scoper?: Scoper;
59
+ /** Where this host sits. Default embedded, with no peer URL. */
60
+ peer?: PeerChoice;
61
+ };
62
+ export declare function createScoperHost(options: CreateScoperHostOptions): Promise<ScoperHost>;
63
+ /**
64
+ * Scoper data access goes through `@x12i/memorix-client`.
65
+ * The SDK calls this instead of its own fetch.
66
+ */
67
+ export declare function memorixScoperTransport(client: Pick<MemorixClient, "explore">): MemorixTransport;
68
+ /** Proxy scope, subject data, and MCP tool calls. This process does not build a Scoper. */
69
+ export declare function createExternalScoperHost(peer: PeerChoice, fetchImpl?: typeof fetch): ScoperHost;
70
+ export type ScoperRouteOptions = {
71
+ host: ScoperHost;
72
+ scopeFor: (req: FastifyRequest) => Promise<ClientScope>;
73
+ };
74
+ export declare function registerScoperRoutes(app: FastifyInstance, options: ScoperRouteOptions): void;
75
+ //# sourceMappingURL=scoper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoper.d.ts","sourceRoot":"","sources":["../src/scoper.ts"],"names":[],"mappings":"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"}