@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.
- package/HANDOVER.md +13 -2
- package/dist/agent-directory.d.ts +25 -0
- package/dist/agent-directory.d.ts.map +1 -0
- package/dist/agent-directory.js +75 -0
- package/dist/agent-directory.js.map +1 -0
- package/dist/app.d.ts +31 -6
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +285 -61
- package/dist/app.js.map +1 -1
- package/dist/authix.d.ts +28 -2
- package/dist/authix.d.ts.map +1 -1
- package/dist/authix.js +55 -4
- package/dist/authix.js.map +1 -1
- package/dist/catalog.d.ts +33 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +83 -4
- package/dist/catalog.js.map +1 -1
- package/dist/cli.js +11 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +31 -0
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +16 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -2
- package/dist/errors.js.map +1 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +27 -3
- package/dist/fetch.js.map +1 -1
- package/dist/peers.d.ts +2 -2
- package/dist/peers.d.ts.map +1 -1
- package/dist/peers.js +4 -4
- package/dist/peers.js.map +1 -1
- package/dist/refs.d.ts +7 -1
- package/dist/refs.d.ts.map +1 -1
- package/dist/refs.js +36 -26
- package/dist/refs.js.map +1 -1
- package/dist/scope.d.ts +25 -2
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js +71 -4
- package/dist/scope.js.map +1 -1
- package/dist/scoper-embedded.d.ts +29 -0
- package/dist/scoper-embedded.d.ts.map +1 -0
- package/dist/scoper-embedded.js +239 -0
- package/dist/scoper-embedded.js.map +1 -0
- package/dist/scoper.d.ts +19 -27
- package/dist/scoper.d.ts.map +1 -1
- package/dist/scoper.js +51 -254
- package/dist/scoper.js.map +1 -1
- package/dist/upstream.d.ts +6 -1
- package/dist/upstream.d.ts.map +1 -1
- package/dist/upstream.js +22 -4
- package/dist/upstream.js.map +1 -1
- package/dist/v1/census.d.ts +63 -0
- package/dist/v1/census.d.ts.map +1 -0
- package/dist/v1/census.js +154 -0
- package/dist/v1/census.js.map +1 -0
- package/dist/v1/content.d.ts +48 -0
- package/dist/v1/content.d.ts.map +1 -0
- package/dist/v1/content.js +323 -0
- package/dist/v1/content.js.map +1 -0
- package/dist/v1/context.d.ts +50 -0
- package/dist/v1/context.d.ts.map +1 -0
- package/dist/v1/context.js +4 -0
- package/dist/v1/context.js.map +1 -0
- package/dist/v1/directory.d.ts +26 -0
- package/dist/v1/directory.d.ts.map +1 -0
- package/dist/v1/directory.js +89 -0
- package/dist/v1/directory.js.map +1 -0
- package/dist/v1/discovery.d.ts +24 -0
- package/dist/v1/discovery.d.ts.map +1 -0
- package/dist/v1/discovery.js +166 -0
- package/dist/v1/discovery.js.map +1 -0
- package/dist/v1/gaps.d.ts +18 -0
- package/dist/v1/gaps.d.ts.map +1 -0
- package/dist/v1/gaps.js +2 -0
- package/dist/v1/gaps.js.map +1 -0
- package/dist/v1/http.d.ts +18 -0
- package/dist/v1/http.d.ts.map +1 -0
- package/dist/v1/http.js +105 -0
- package/dist/v1/http.js.map +1 -0
- package/dist/v1/mapping.d.ts +161 -0
- package/dist/v1/mapping.d.ts.map +1 -0
- package/dist/v1/mapping.js +402 -0
- package/dist/v1/mapping.js.map +1 -0
- package/dist/v1/planning-store.d.ts +74 -0
- package/dist/v1/planning-store.d.ts.map +1 -0
- package/dist/v1/planning-store.js +192 -0
- package/dist/v1/planning-store.js.map +1 -0
- package/dist/v1/planning.d.ts +5 -0
- package/dist/v1/planning.d.ts.map +1 -0
- package/dist/v1/planning.js +297 -0
- package/dist/v1/planning.js.map +1 -0
- package/dist/v1/records.d.ts +18 -0
- package/dist/v1/records.d.ts.map +1 -0
- package/dist/v1/records.js +42 -0
- package/dist/v1/records.js.map +1 -0
- package/dist/v1/relationships.d.ts +72 -0
- package/dist/v1/relationships.d.ts.map +1 -0
- package/dist/v1/relationships.js +436 -0
- package/dist/v1/relationships.js.map +1 -0
- package/dist/v1/routes.d.ts +5 -0
- package/dist/v1/routes.d.ts.map +1 -0
- package/dist/v1/routes.js +16 -0
- package/dist/v1/routes.js.map +1 -0
- package/dist/v1/sources.d.ts +62 -0
- package/dist/v1/sources.d.ts.map +1 -0
- package/dist/v1/sources.js +218 -0
- package/dist/v1/sources.js.map +1 -0
- package/openapi/openapi.json +3616 -480
- package/package.json +74 -74
package/dist/scope.d.ts
CHANGED
|
@@ -1,13 +1,36 @@
|
|
|
1
|
+
import type { AgentDirectory } from "./agent-directory.js";
|
|
1
2
|
export type ClientScope = {
|
|
2
3
|
orgId: string;
|
|
4
|
+
/** Effective agents sent to Memorix. `*` is expanded to the org's deployed agents. */
|
|
3
5
|
agentIds: string[];
|
|
4
6
|
caller: string;
|
|
7
|
+
/** What the caller sent in `x-memorix-agent-ids`. */
|
|
8
|
+
requestedAgentIds?: string[];
|
|
9
|
+
agentSelection?: "explicit" | "wildcard" | "implicit";
|
|
10
|
+
/** The org's deployed set. Absent when Memorix keeps no org agent record. */
|
|
11
|
+
deployedAgentIds?: string[];
|
|
12
|
+
/** Selected agents whose pack does not resolve. */
|
|
13
|
+
unresolvedAgentIds?: string[];
|
|
5
14
|
};
|
|
15
|
+
/** How a route uses `x-memorix-agent-ids`. */
|
|
16
|
+
export type AgentRequirement = "required" | "optional" | "none";
|
|
6
17
|
/** Org carried by a verified Authix token. A request org must be one of these. */
|
|
7
18
|
export declare function orgFromToken(organizationIds: string[], requestedOrgId: string): string;
|
|
8
|
-
export declare function scopeFromHeaders(headers: Record<string, string | string[] | undefined>, orgId?: string): ClientScope;
|
|
9
|
-
|
|
19
|
+
export declare function scopeFromHeaders(headers: Record<string, string | string[] | undefined>, orgId?: string, agents?: AgentRequirement): ClientScope;
|
|
20
|
+
/**
|
|
21
|
+
* Check the requested agents against the org's deployed set.
|
|
22
|
+
* `*` (or no header where the route allows it) selects every deployed agent.
|
|
23
|
+
* An installed agent the org has not deployed is `403 AGENT_NOT_DEPLOYED`; an id that is not installed is `400 AGENT_UNKNOWN`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveAgentSelection(scope: ClientScope, directory: AgentDirectory, agents: AgentRequirement): Promise<ClientScope>;
|
|
26
|
+
export type ScopeEcho = {
|
|
10
27
|
orgId: string;
|
|
11
28
|
agentIds: string[];
|
|
29
|
+
caller?: string;
|
|
30
|
+
requestedAgentIds?: string[];
|
|
31
|
+
agentSelection?: ClientScope["agentSelection"];
|
|
32
|
+
deployedAgentIds?: string[];
|
|
33
|
+
unresolvedAgentIds?: string[];
|
|
12
34
|
};
|
|
35
|
+
export declare function scopeBody(scope: ClientScope): ScopeEcho;
|
|
13
36
|
//# sourceMappingURL=scope.d.ts.map
|
package/dist/scope.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACtD,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAehE,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,EAC3C,MAAM,GAAE,gBAA6B,GACpC,WAAW,CAab;AAMD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,WAAW,CAAC,CAqDtB;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAUvD"}
|
package/dist/scope.js
CHANGED
|
@@ -26,21 +26,88 @@ export function orgFromToken(organizationIds, requestedOrgId) {
|
|
|
26
26
|
}
|
|
27
27
|
return requestedOrgId;
|
|
28
28
|
}
|
|
29
|
-
export function scopeFromHeaders(headers, orgId = header(headers, "x-memorix-org-id")) {
|
|
29
|
+
export function scopeFromHeaders(headers, orgId = header(headers, "x-memorix-org-id"), agents = "required") {
|
|
30
30
|
const agentIds = agentIdsOf(headers);
|
|
31
31
|
const caller = header(headers, "x-memorix-caller");
|
|
32
32
|
if (!orgId) {
|
|
33
33
|
throw new ApiError(400, "SCOPE_INVALID", "x-memorix-org-id is required");
|
|
34
34
|
}
|
|
35
|
-
if (agentIds.length === 0) {
|
|
35
|
+
if (agentIds.length === 0 && agents === "required") {
|
|
36
36
|
throw new ApiError(400, "SCOPE_INVALID", "x-memorix-agent-ids is required");
|
|
37
37
|
}
|
|
38
38
|
if (!caller) {
|
|
39
39
|
throw new ApiError(400, "SCOPE_INVALID", "x-memorix-caller is required");
|
|
40
40
|
}
|
|
41
|
-
return { orgId, agentIds, caller };
|
|
41
|
+
return { orgId, agentIds: agents === "none" ? [] : agentIds, caller };
|
|
42
|
+
}
|
|
43
|
+
function sortedUnique(ids) {
|
|
44
|
+
return [...new Set(ids)].sort((a, b) => a.localeCompare(b));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Check the requested agents against the org's deployed set.
|
|
48
|
+
* `*` (or no header where the route allows it) selects every deployed agent.
|
|
49
|
+
* An installed agent the org has not deployed is `403 AGENT_NOT_DEPLOYED`; an id that is not installed is `400 AGENT_UNKNOWN`.
|
|
50
|
+
*/
|
|
51
|
+
export async function resolveAgentSelection(scope, directory, agents) {
|
|
52
|
+
if (agents === "none")
|
|
53
|
+
return scope;
|
|
54
|
+
const requested = scope.agentIds;
|
|
55
|
+
const wildcard = requested.includes("*");
|
|
56
|
+
const implicit = requested.length === 0;
|
|
57
|
+
const selection = implicit ? "implicit" : wildcard ? "wildcard" : "explicit";
|
|
58
|
+
const deployed = await directory.deployed(scope.orgId, scope.caller);
|
|
59
|
+
if (deployed === null) {
|
|
60
|
+
return {
|
|
61
|
+
...scope,
|
|
62
|
+
requestedAgentIds: requested,
|
|
63
|
+
agentSelection: selection,
|
|
64
|
+
unresolvedAgentIds: [],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const deployedIds = deployed.map((agent) => agent.id);
|
|
68
|
+
const unresolved = new Set(deployed.filter((agent) => !agent.ok).map((agent) => agent.id));
|
|
69
|
+
let agentIds;
|
|
70
|
+
if (wildcard || implicit) {
|
|
71
|
+
if (deployedIds.length === 0 && !implicit) {
|
|
72
|
+
throw new ApiError(403, "AGENT_NOT_DEPLOYED", `no agents are recorded for org ${scope.orgId}`);
|
|
73
|
+
}
|
|
74
|
+
agentIds = deployedIds;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const missing = requested.filter((id) => !deployedIds.includes(id));
|
|
78
|
+
if (missing.length > 0) {
|
|
79
|
+
const installed = new Set((await directory.installed(scope.orgId, scope.caller)).map((agent) => agent.id));
|
|
80
|
+
const unknown = missing.filter((id) => !installed.has(id));
|
|
81
|
+
if (unknown.length > 0) {
|
|
82
|
+
throw new ApiError(400, "AGENT_UNKNOWN", `agent ${unknown.join(", ")} is not installed`, {
|
|
83
|
+
details: { agentIds: unknown },
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
throw new ApiError(403, "AGENT_NOT_DEPLOYED", deployedIds.length === 0
|
|
87
|
+
? `no agents are recorded for org ${scope.orgId}`
|
|
88
|
+
: `agent ${missing.join(", ")} is not deployed for org ${scope.orgId}`, { details: { agentIds: missing, deployedAgentIds: deployedIds } });
|
|
89
|
+
}
|
|
90
|
+
agentIds = requested;
|
|
91
|
+
}
|
|
92
|
+
agentIds = sortedUnique(agentIds);
|
|
93
|
+
return {
|
|
94
|
+
...scope,
|
|
95
|
+
agentIds,
|
|
96
|
+
requestedAgentIds: requested,
|
|
97
|
+
agentSelection: selection,
|
|
98
|
+
deployedAgentIds: deployedIds,
|
|
99
|
+
unresolvedAgentIds: agentIds.filter((id) => unresolved.has(id)),
|
|
100
|
+
};
|
|
42
101
|
}
|
|
43
102
|
export function scopeBody(scope) {
|
|
44
|
-
return {
|
|
103
|
+
return {
|
|
104
|
+
orgId: scope.orgId,
|
|
105
|
+
agentIds: scope.agentIds,
|
|
106
|
+
caller: scope.caller,
|
|
107
|
+
...(scope.requestedAgentIds ? { requestedAgentIds: scope.requestedAgentIds } : {}),
|
|
108
|
+
...(scope.agentSelection ? { agentSelection: scope.agentSelection } : {}),
|
|
109
|
+
...(scope.deployedAgentIds ? { deployedAgentIds: scope.deployedAgentIds } : {}),
|
|
110
|
+
...(scope.unresolvedAgentIds ? { unresolvedAgentIds: scope.unresolvedAgentIds } : {}),
|
|
111
|
+
};
|
|
45
112
|
}
|
|
46
113
|
//# sourceMappingURL=scope.js.map
|
package/dist/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Scoper } from "@x12i/memorix-scoper";
|
|
2
|
+
import { type MemorixTransport } from "@x12i/memorix-scoper-sdk";
|
|
3
|
+
import { type MemorixClient } from "@x12i/memorix-client";
|
|
4
|
+
import type { ScoperReasonerKind } from "./config.js";
|
|
5
|
+
import type { PeerChoice } from "./peers.js";
|
|
6
|
+
import { type ScoperHost } from "./scoper.js";
|
|
7
|
+
/**
|
|
8
|
+
* Scoper built in this process. The only module that imports the Scoper packages.
|
|
9
|
+
* `app.ts` loads it on demand, so a process that proxies a Scoper peer never loads them.
|
|
10
|
+
*/
|
|
11
|
+
export type CreateScoperHostOptions = {
|
|
12
|
+
memorixUrl: string;
|
|
13
|
+
reasoner?: ScoperReasonerKind;
|
|
14
|
+
functionsDir?: string;
|
|
15
|
+
functionsPackage?: string;
|
|
16
|
+
/** Ask the coder to write a function on a miss. Default false. */
|
|
17
|
+
learnFunctions?: boolean;
|
|
18
|
+
env?: NodeJS.ProcessEnv;
|
|
19
|
+
scoper?: Scoper;
|
|
20
|
+
/** Where this host sits. Default embedded, with no peer URL. */
|
|
21
|
+
peer?: PeerChoice;
|
|
22
|
+
};
|
|
23
|
+
export declare function createScoperHost(options: CreateScoperHostOptions): Promise<ScoperHost>;
|
|
24
|
+
/**
|
|
25
|
+
* Scoper data access goes through `@x12i/memorix-client`.
|
|
26
|
+
* The SDK calls this instead of its own fetch.
|
|
27
|
+
*/
|
|
28
|
+
export declare function memorixScoperTransport(client: Pick<MemorixClient, "explore" | "listObjectTypeKinds">): MemorixTransport;
|
|
29
|
+
//# sourceMappingURL=scoper-embedded.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoper-embedded.d.ts","sourceRoot":"","sources":["../src/scoper-embedded.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,MAAM,EAEZ,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAA2C,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAML,KAAK,UAAU,EAEhB,MAAM,aAAa,CAAC;AAGrB;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,CA8E5F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,qBAAqB,CAAC,GAC7D,gBAAgB,CAqFlB"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { createScoper, createScoperMcpServer, dispatcherOptionsFromEnv, } from "@x12i/memorix-scoper";
|
|
2
|
+
import { isScoperError, ScopeRequestSchema, ScoperError, SubjectDataRequestSchema, } from "@x12i/memorix-scoper-contracts";
|
|
3
|
+
import { parseObjectTypeCatalog, readSubjectData } from "@x12i/memorix-scoper-sdk";
|
|
4
|
+
import { createMemorixClient, MemorixClientError, } from "@x12i/memorix-client";
|
|
5
|
+
import { SCOPER_RELEASE, scoperErrorStatus, stripUntrusted, stripUntrustedRecord, } from "./scoper.js";
|
|
6
|
+
import { ApiError } from "./errors.js";
|
|
7
|
+
export async function createScoperHost(options) {
|
|
8
|
+
const reasoner = options.reasoner ?? "scripted";
|
|
9
|
+
const functionsDir = options.functionsDir?.trim() || undefined;
|
|
10
|
+
const functions = functionsDir
|
|
11
|
+
? await loadFunctions(functionsDir, options.functionsPackage, options.learnFunctions === true)
|
|
12
|
+
: undefined;
|
|
13
|
+
const env = options.env ?? process.env;
|
|
14
|
+
const scoper = options.scoper ??
|
|
15
|
+
createScoper({
|
|
16
|
+
sdkConfig: {
|
|
17
|
+
memorixBaseUrls: [options.memorixUrl.replace(/\/+$/, "")],
|
|
18
|
+
createMemorixClient: ({ baseUrl, context, headers }) => memorixScoperTransport(createMemorixClient({
|
|
19
|
+
baseUrl,
|
|
20
|
+
orgId: context.orgId,
|
|
21
|
+
agentIds: [...context.agentIds],
|
|
22
|
+
caller: context.caller,
|
|
23
|
+
...deploymentOf(headers),
|
|
24
|
+
})),
|
|
25
|
+
},
|
|
26
|
+
reasonerKind: reasoner,
|
|
27
|
+
...(reasoner === "ai-dispatcher"
|
|
28
|
+
? {
|
|
29
|
+
aiDispatcher: {
|
|
30
|
+
dispatcherOptions: dispatcherOptionsFromEnv(env),
|
|
31
|
+
model: env.SCOPER_AI_MODEL?.trim() || "openai/gpt-6-luna",
|
|
32
|
+
...providerOf(env.SCOPER_AI_PROVIDER),
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
: {}),
|
|
36
|
+
...(functions ? { functions } : {}),
|
|
37
|
+
});
|
|
38
|
+
const info = {
|
|
39
|
+
package: SCOPER_RELEASE.package,
|
|
40
|
+
version: SCOPER_RELEASE.version,
|
|
41
|
+
sdk: SCOPER_RELEASE.sdk,
|
|
42
|
+
functionsPackage: SCOPER_RELEASE.functionsPackage,
|
|
43
|
+
pagx: SCOPER_RELEASE.pagx,
|
|
44
|
+
reasoner,
|
|
45
|
+
functions: Boolean(functions),
|
|
46
|
+
aligned: {
|
|
47
|
+
memorixService: SCOPER_RELEASE.service,
|
|
48
|
+
memorixSkills: SCOPER_RELEASE.skills,
|
|
49
|
+
memorixClient: SCOPER_RELEASE.client,
|
|
50
|
+
aiDispatcher: SCOPER_RELEASE.aiDispatcher,
|
|
51
|
+
},
|
|
52
|
+
mode: "embedded",
|
|
53
|
+
source: options.peer?.source ?? "@x12i/memorix-scoper",
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
info,
|
|
57
|
+
scope(scope, body, call) {
|
|
58
|
+
return mapped(() => {
|
|
59
|
+
const request = ScopeRequestSchema.parse(stripUntrusted(body));
|
|
60
|
+
return scoper.scope(request, contextOf(scope, call));
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
subjectData(scope, body, call) {
|
|
64
|
+
return mapped(() => {
|
|
65
|
+
const request = SubjectDataRequestSchema.parse(stripUntrusted(body));
|
|
66
|
+
return readSubjectData(scoper.deps.sdk.forContext(contextOf(scope, call)), request);
|
|
67
|
+
});
|
|
68
|
+
},
|
|
69
|
+
tools(scope, call) {
|
|
70
|
+
return mapped(async () => {
|
|
71
|
+
const server = mcpServer(scoper, scope, call);
|
|
72
|
+
return server.listTools ? await server.listTools() : server.tools;
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
callTool(scope, call, name, args) {
|
|
76
|
+
return mapped(async () => mcpServer(scoper, scope, call).callTool(name, stripUntrustedRecord(args)));
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Scoper data access goes through `@x12i/memorix-client`.
|
|
82
|
+
* The SDK calls this instead of its own fetch.
|
|
83
|
+
*/
|
|
84
|
+
export function memorixScoperTransport(client) {
|
|
85
|
+
return {
|
|
86
|
+
async listObjectTypes() {
|
|
87
|
+
try {
|
|
88
|
+
return parseObjectTypeCatalog(await client.listObjectTypeKinds());
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
throw transportError(err, "listObjectTypes");
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
async getContent({ objectType, contentType, id, include }) {
|
|
95
|
+
try {
|
|
96
|
+
const body = asRecord(await client.explore.getContent({
|
|
97
|
+
objectType,
|
|
98
|
+
contentType,
|
|
99
|
+
recordId: id,
|
|
100
|
+
...(include?.markdown === true ? { include: { markdown: true } } : {}),
|
|
101
|
+
}));
|
|
102
|
+
return { record: asRecord(body?.record) };
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
throw transportError(err, "getContent");
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
async listContent({ objectType, contentType, limit, cursor, include }) {
|
|
109
|
+
try {
|
|
110
|
+
const body = asRecord(await client.explore.listContent({
|
|
111
|
+
objectType,
|
|
112
|
+
contentType,
|
|
113
|
+
...(limit != null ? { limit } : {}),
|
|
114
|
+
...(cursor ? { cursor } : {}),
|
|
115
|
+
...(include?.markdown === true ? { include: { markdown: true } } : {}),
|
|
116
|
+
}));
|
|
117
|
+
const records = Array.isArray(body?.records)
|
|
118
|
+
? body.records.filter((row) => isRecord(row))
|
|
119
|
+
: [];
|
|
120
|
+
const page = asRecord(body?.pageInfo);
|
|
121
|
+
const nextCursor = typeof page?.nextCursor === "string" ? page.nextCursor : null;
|
|
122
|
+
return { records, nextCursor };
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
throw transportError(err, "listContent");
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
async composeContent({ recordId, contentTypes }) {
|
|
129
|
+
try {
|
|
130
|
+
const body = await client.explore.composeData({
|
|
131
|
+
recordId,
|
|
132
|
+
explicit: true,
|
|
133
|
+
...(contentTypes?.length ? { contentTypes } : {}),
|
|
134
|
+
});
|
|
135
|
+
return {
|
|
136
|
+
found: true,
|
|
137
|
+
objectType: body.objectType ?? null,
|
|
138
|
+
contents: body.contents ?? {},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
catch (err) {
|
|
142
|
+
if (isNotFound(err)) {
|
|
143
|
+
return {
|
|
144
|
+
found: false,
|
|
145
|
+
code: "READ_NOT_FOUND",
|
|
146
|
+
message: err instanceof Error ? err.message : "subject not found",
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
throw transportError(err, "composeContent");
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
async patchMarkdown({ objectType, contentType, id, revision, markdown }) {
|
|
153
|
+
try {
|
|
154
|
+
await client.explore.writeContent({
|
|
155
|
+
objectType,
|
|
156
|
+
contentType,
|
|
157
|
+
op: "patch",
|
|
158
|
+
precondition: { kind: "revision", revision },
|
|
159
|
+
expectedRevision: revision,
|
|
160
|
+
record: { recordId: id },
|
|
161
|
+
patch: [{ op: "set", path: "_markdown", value: markdown }],
|
|
162
|
+
});
|
|
163
|
+
return { written: true };
|
|
164
|
+
}
|
|
165
|
+
catch (err) {
|
|
166
|
+
throw transportError(err, "patchMarkdown");
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
async function mapped(call) {
|
|
172
|
+
try {
|
|
173
|
+
return await call();
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
if (isScoperError(err))
|
|
177
|
+
throw new ApiError(scoperErrorStatus(err.code), err.code, err.message);
|
|
178
|
+
throw err;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
async function loadFunctions(dir, packageName, learn) {
|
|
182
|
+
const mod = await import("@x12i/memorix-scoper-functions");
|
|
183
|
+
return mod.createScopeFunctions({
|
|
184
|
+
dir,
|
|
185
|
+
learn,
|
|
186
|
+
...(packageName?.trim() ? { packageName: packageName.trim() } : {}),
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
function providerOf(raw) {
|
|
190
|
+
const provider = raw?.trim();
|
|
191
|
+
if (provider === "openrouter" || provider === "bedrock" || provider === "openai")
|
|
192
|
+
return { provider };
|
|
193
|
+
return {};
|
|
194
|
+
}
|
|
195
|
+
function mcpServer(scoper, scope, call) {
|
|
196
|
+
return createScoperMcpServer({
|
|
197
|
+
scoper,
|
|
198
|
+
context: contextOf(scope, call),
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
function contextOf(scope, call) {
|
|
202
|
+
return {
|
|
203
|
+
orgId: scope.orgId,
|
|
204
|
+
agentIds: scope.agentIds,
|
|
205
|
+
caller: scope.caller,
|
|
206
|
+
traceId: call.traceId,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
function deploymentOf(headers) {
|
|
210
|
+
const fromHeader = headers["x-memorix-deployment-identity"]?.trim();
|
|
211
|
+
const fromEnv = process.env.MEMORIX_DEPLOYMENT_IDENTITY?.trim();
|
|
212
|
+
const deploymentIdentity = fromHeader || fromEnv;
|
|
213
|
+
return deploymentIdentity ? { deploymentIdentity } : {};
|
|
214
|
+
}
|
|
215
|
+
function isRecord(value) {
|
|
216
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
217
|
+
}
|
|
218
|
+
function asRecord(value) {
|
|
219
|
+
return isRecord(value) ? value : null;
|
|
220
|
+
}
|
|
221
|
+
function isNotFound(err) {
|
|
222
|
+
if (err instanceof MemorixClientError && err.statusCode === 404)
|
|
223
|
+
return true;
|
|
224
|
+
if (!err || typeof err !== "object")
|
|
225
|
+
return false;
|
|
226
|
+
const code = "code" in err ? String(err.code) : "";
|
|
227
|
+
const status = "statusCode" in err ? Number(err.statusCode) : 0;
|
|
228
|
+
return status === 404 || code === "READ_NOT_FOUND" || code === "NOT_FOUND";
|
|
229
|
+
}
|
|
230
|
+
function transportError(err, op) {
|
|
231
|
+
if (err instanceof ScoperError)
|
|
232
|
+
return err;
|
|
233
|
+
if (isNotFound(err)) {
|
|
234
|
+
return new ScoperError("READ_NOT_FOUND", `${op}: subject not found`);
|
|
235
|
+
}
|
|
236
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
237
|
+
return new ScoperError("UPSTREAM_UNAVAILABLE", `${op}: ${message}`, { retryable: true });
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=scoper-embedded.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoper-embedded.js","sourceRoot":"","sources":["../src/scoper-embedded.ts"],"names":[],"mappings":"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"}
|
package/dist/scoper.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
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
2
|
import type { PeerChoice } from "./peers.js";
|
|
6
3
|
import type { ClientScope } from "./scope.js";
|
|
7
4
|
import type { ScoperReasonerKind } from "./config.js";
|
|
8
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* Published packages the embedded host runs. Skills 0.6.1 uses the same Scoper.
|
|
7
|
+
* This module imports none of them. `scoper-embedded.ts` does, and loads only when a process hosts Scoper.
|
|
8
|
+
*/
|
|
9
9
|
export declare const SCOPER_RELEASE: {
|
|
10
10
|
readonly package: "@x12i/memorix-scoper";
|
|
11
11
|
readonly version: "3.0.0";
|
|
@@ -17,7 +17,8 @@ export declare const SCOPER_RELEASE: {
|
|
|
17
17
|
readonly client: "3.17.0";
|
|
18
18
|
readonly aiDispatcher: "3.2.0";
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
/** Tools on `POST /api/v1/mcp/scoper`. A Scoper peer serves the same names. */
|
|
21
|
+
export declare const SCOPER_MCP_TOOL_NAMES: readonly ["catalog", "subjects_list", "subjects_query", "subject_data", "scope", "intents", "intent_scope"];
|
|
21
22
|
export type { ScoperReasonerKind };
|
|
22
23
|
export type ScoperHostInfo = {
|
|
23
24
|
package: typeof SCOPER_RELEASE.package;
|
|
@@ -40,31 +41,18 @@ export type ScoperHostInfo = {
|
|
|
40
41
|
/** Set when `mode` is `external`. */
|
|
41
42
|
baseUrl?: string;
|
|
42
43
|
};
|
|
44
|
+
/** Per-request values that are not scope. `authorization` is the caller's header, forwarded to a peer unchanged. */
|
|
45
|
+
export type ScoperCall = {
|
|
46
|
+
traceId: string;
|
|
47
|
+
authorization?: string;
|
|
48
|
+
};
|
|
43
49
|
export type ScoperHost = {
|
|
44
50
|
info: ScoperHostInfo;
|
|
45
|
-
scope(scope: ClientScope, body: unknown,
|
|
46
|
-
subjectData(scope: ClientScope, body: unknown,
|
|
47
|
-
tools(scope: ClientScope,
|
|
48
|
-
callTool(scope: ClientScope,
|
|
51
|
+
scope(scope: ClientScope, body: unknown, call: ScoperCall): Promise<unknown>;
|
|
52
|
+
subjectData(scope: ClientScope, body: unknown, call: ScoperCall): Promise<unknown>;
|
|
53
|
+
tools(scope: ClientScope, call: ScoperCall): Promise<unknown>;
|
|
54
|
+
callTool(scope: ClientScope, call: ScoperCall, name: string, args: Record<string, unknown>): Promise<unknown>;
|
|
49
55
|
};
|
|
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" | "listObjectTypeKinds">): MemorixTransport;
|
|
68
56
|
/** Proxy scope, subject data, and MCP tool calls. This process does not build a Scoper. */
|
|
69
57
|
export declare function createExternalScoperHost(peer: PeerChoice, fetchImpl?: typeof fetch): ScoperHost;
|
|
70
58
|
export type ScoperRouteOptions = {
|
|
@@ -72,4 +60,8 @@ export type ScoperRouteOptions = {
|
|
|
72
60
|
scopeFor: (req: FastifyRequest) => Promise<ClientScope>;
|
|
73
61
|
};
|
|
74
62
|
export declare function registerScoperRoutes(app: FastifyInstance, options: ScoperRouteOptions): void;
|
|
63
|
+
/** HTTP status for a Scoper error code. A peer and the embedded host map codes the same way. */
|
|
64
|
+
export declare function scoperErrorStatus(code: string): number;
|
|
65
|
+
export declare function stripUntrusted(body: unknown): unknown;
|
|
66
|
+
export declare function stripUntrustedRecord(args: Record<string, unknown>): Record<string, unknown>;
|
|
75
67
|
//# sourceMappingURL=scoper.d.ts.map
|
package/dist/scoper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoper.d.ts","sourceRoot":"","sources":["../src/scoper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAgB,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"scoper.d.ts","sourceRoot":"","sources":["../src/scoper.ts"],"names":[],"mappings":"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"}
|