@lucern/sdk 0.2.0-alpha.7 → 0.2.0-alpha.8
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/dist/adminClient.d.ts +409 -0
- package/dist/adminClient.js +755 -0
- package/dist/adminClient.js.map +1 -0
- package/dist/answersClient.d.ts +23 -0
- package/dist/answersClient.js +333 -0
- package/dist/answersClient.js.map +1 -0
- package/dist/audiencesClient.d.ts +99 -0
- package/dist/audiencesClient.js +472 -0
- package/dist/audiencesClient.js.map +1 -0
- package/dist/auditClient.d.ts +29 -0
- package/dist/auditClient.js +386 -0
- package/dist/auditClient.js.map +1 -0
- package/dist/beliefsClient.d.ts +162 -0
- package/dist/beliefsClient.js +477 -0
- package/dist/beliefsClient.js.map +1 -0
- package/dist/client.d.ts +2378 -0
- package/dist/client.js +6134 -0
- package/dist/client.js.map +1 -0
- package/dist/contextClient.d.ts +27 -0
- package/dist/contextClient.js +396 -0
- package/dist/contextClient.js.map +1 -0
- package/dist/contextFacade.d.ts +2 -0
- package/dist/contextFacade.js +73 -0
- package/dist/contextFacade.js.map +1 -0
- package/dist/contextPackCompiler.d.ts +102 -0
- package/dist/contextPackCompiler.js +1091 -0
- package/dist/contextPackCompiler.js.map +1 -0
- package/dist/contextPackPolicy.d.ts +84 -0
- package/dist/contextPackPolicy.js +347 -0
- package/dist/contextPackPolicy.js.map +1 -0
- package/dist/contextPackSchema.d.ts +7 -0
- package/{src/contextPackSchema.ts → dist/contextPackSchema.js} +22 -70
- package/dist/contextPackSchema.js.map +1 -0
- package/dist/contextTypes.d.ts +135 -0
- package/dist/contextTypes.js +3 -0
- package/dist/contextTypes.js.map +1 -0
- package/dist/contracts/api-enums.contract.d.ts +81 -0
- package/dist/contracts/api-enums.contract.js +92 -0
- package/dist/contracts/api-enums.contract.js.map +1 -0
- package/dist/contracts/auth-session.contract.d.ts +55 -0
- package/dist/contracts/auth-session.contract.js +48 -0
- package/dist/contracts/auth-session.contract.js.map +1 -0
- package/dist/contracts/context-pack.contract.d.ts +492 -0
- package/dist/contracts/context-pack.contract.js +98 -0
- package/dist/contracts/context-pack.contract.js.map +1 -0
- package/dist/contracts/contextPack.d.ts +1 -0
- package/dist/contracts/contextPack.js +98 -0
- package/dist/contracts/contextPack.js.map +1 -0
- package/dist/contracts/index.d.ts +9 -0
- package/dist/contracts/index.js +4892 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/lens-filter.contract.d.ts +72 -0
- package/dist/contracts/lens-filter.contract.js +71 -0
- package/dist/contracts/lens-filter.contract.js.map +1 -0
- package/dist/contracts/lens-workflow.contract.d.ts +87 -0
- package/dist/contracts/lens-workflow.contract.js +123 -0
- package/dist/contracts/lens-workflow.contract.js.map +1 -0
- package/dist/contracts/lensFilter.d.ts +1 -0
- package/dist/contracts/lensFilter.js +71 -0
- package/dist/contracts/lensFilter.js.map +1 -0
- package/dist/contracts/lensWorkflow.d.ts +2 -0
- package/dist/contracts/lensWorkflow.js +123 -0
- package/dist/contracts/lensWorkflow.js.map +1 -0
- package/dist/contracts/mcp-tools.contract.d.ts +1 -0
- package/dist/contracts/mcp-tools.contract.js +2986 -0
- package/dist/contracts/mcp-tools.contract.js.map +1 -0
- package/dist/contracts/mcpTools.d.ts +1 -0
- package/dist/contracts/mcpTools.js +2986 -0
- package/dist/contracts/mcpTools.js.map +1 -0
- package/dist/contracts/prompt.contract.d.ts +26 -0
- package/dist/contracts/prompt.contract.js +12 -0
- package/dist/contracts/prompt.contract.js.map +1 -0
- package/dist/contracts/prompt.d.ts +1 -0
- package/dist/contracts/prompt.js +12 -0
- package/dist/contracts/prompt.js.map +1 -0
- package/dist/contracts/sdk-tools.contract.d.ts +2 -0
- package/dist/contracts/sdk-tools.contract.js +4134 -0
- package/dist/contracts/sdk-tools.contract.js.map +1 -0
- package/dist/contracts/sdkTools.d.ts +2 -0
- package/dist/contracts/sdkTools.js +4134 -0
- package/dist/contracts/sdkTools.js.map +1 -0
- package/dist/contracts/workflow-runtime.contract.d.ts +163 -0
- package/dist/contracts/workflow-runtime.contract.js +245 -0
- package/dist/contracts/workflow-runtime.contract.js.map +1 -0
- package/dist/contracts/workflowRuntime.d.ts +1 -0
- package/dist/contracts/workflowRuntime.js +245 -0
- package/dist/contracts/workflowRuntime.js.map +1 -0
- package/dist/controlObjectOwnership.d.ts +310 -0
- package/{src/controlObjectOwnership.ts → dist/controlObjectOwnership.js} +53 -124
- package/dist/controlObjectOwnership.js.map +1 -0
- package/dist/coreClient.d.ts +144 -0
- package/dist/coreClient.js +339 -0
- package/dist/coreClient.js.map +1 -0
- package/dist/customTools.d.ts +88 -0
- package/dist/customTools.js +248 -0
- package/dist/customTools.js.map +1 -0
- package/dist/decisionsClient.d.ts +111 -0
- package/dist/decisionsClient.js +522 -0
- package/dist/decisionsClient.js.map +1 -0
- package/dist/domainContext.d.ts +1 -0
- package/dist/domainContext.js +3 -0
- package/dist/domainContext.js.map +1 -0
- package/dist/events.d.ts +178 -0
- package/dist/events.js +249 -0
- package/dist/events.js.map +1 -0
- package/dist/eventsCore.d.ts +49 -0
- package/dist/eventsCore.js +429 -0
- package/dist/eventsCore.js.map +1 -0
- package/dist/facade/context.d.ts +18 -0
- package/dist/facade/context.js +73 -0
- package/dist/facade/context.js.map +1 -0
- package/dist/gatewayFacades.d.ts +591 -0
- package/dist/gatewayFacades.js +1953 -0
- package/dist/gatewayFacades.js.map +1 -0
- package/dist/graphClient.d.ts +271 -0
- package/dist/graphClient.js +698 -0
- package/dist/graphClient.js.map +1 -0
- package/dist/harnessClient.d.ts +314 -0
- package/dist/harnessClient.js +607 -0
- package/dist/harnessClient.js.map +1 -0
- package/dist/identityClient.d.ts +140 -0
- package/dist/identityClient.js +497 -0
- package/dist/identityClient.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.js +11381 -0
- package/dist/index.js.map +1 -0
- package/dist/learningClient.d.ts +46 -0
- package/dist/learningClient.js +409 -0
- package/dist/learningClient.js.map +1 -0
- package/dist/mcpParityClient.d.ts +74 -0
- package/dist/mcpParityClient.js +516 -0
- package/dist/mcpParityClient.js.map +1 -0
- package/dist/mcpParitySurface.d.ts +12 -0
- package/{src/mcpParitySurface.ts → dist/mcpParitySurface.js} +9 -14
- package/dist/mcpParitySurface.js.map +1 -0
- package/dist/mcpTools-DPZxowDX.d.ts +254 -0
- package/dist/ontologyClient.d.ts +137 -0
- package/dist/ontologyClient.js +513 -0
- package/dist/ontologyClient.js.map +1 -0
- package/dist/packRuntime.d.ts +2 -0
- package/dist/packRuntime.js +3 -0
- package/dist/packRuntime.js.map +1 -0
- package/dist/packsClient.d.ts +131 -0
- package/dist/packsClient.js +525 -0
- package/dist/packsClient.js.map +1 -0
- package/dist/policyClient.d.ts +299 -0
- package/dist/policyClient.js +625 -0
- package/dist/policyClient.js.map +1 -0
- package/dist/realtime/index.d.ts +29 -0
- package/dist/realtime/index.js +23 -0
- package/dist/realtime/index.js.map +1 -0
- package/{src/realtime/refs.ts → dist/realtime/refs.d.ts} +5 -5
- package/dist/realtime/refs.js +9 -0
- package/dist/realtime/refs.js.map +1 -0
- package/dist/reportsClient.d.ts +41 -0
- package/dist/reportsClient.js +418 -0
- package/dist/reportsClient.js.map +1 -0
- package/dist/schemaClient.d.ts +64 -0
- package/dist/schemaClient.js +434 -0
- package/dist/schemaClient.js.map +1 -0
- package/dist/sdkSurface.d.ts +61 -0
- package/dist/sdkSurface.js +112 -0
- package/dist/sdkSurface.js.map +1 -0
- package/dist/sdkTools-CwXJDACb.d.ts +150 -0
- package/dist/topicsClient.d.ts +84 -0
- package/dist/topicsClient.js +492 -0
- package/dist/topicsClient.js.map +1 -0
- package/dist/types.d.ts +696 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/version.d.ts +4 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/dist/workflowClient.d.ts +316 -0
- package/dist/workflowClient.js +830 -0
- package/dist/workflowClient.js.map +1 -0
- package/package.json +31 -7
- package/.turbo/turbo-build.log +0 -7
- package/.turbo/turbo-typecheck.log +0 -4
- package/examples/README.md +0 -69
- package/examples/contradiction.ts +0 -94
- package/examples/investigation-context.ts +0 -118
- package/examples/questions-and-tasks.ts +0 -55
- package/examples/quickstart.ts +0 -97
- package/examples/shared.ts +0 -318
- package/examples/strict-public-types.ts +0 -143
- package/examples/worktree-lifecycle.ts +0 -79
- package/src/README.md +0 -6
- package/src/adminClient.ts +0 -789
- package/src/answersClient.ts +0 -29
- package/src/audiencesClient.ts +0 -209
- package/src/auditClient.ts +0 -50
- package/src/beliefsClient.ts +0 -319
- package/src/client.ts +0 -2647
- package/src/contextClient.ts +0 -130
- package/src/contextFacade.ts +0 -15
- package/src/contextPackCompiler.ts +0 -828
- package/src/contextTypes.ts +0 -153
- package/src/contracts/api-enums.contract.ts +0 -202
- package/src/contracts/auth-session.contract.ts +0 -109
- package/src/contracts/context-pack.contract.ts +0 -700
- package/src/contracts/contextPack.ts +0 -1
- package/src/contracts/index.ts +0 -10
- package/src/contracts/lens-filter.contract.ts +0 -183
- package/src/contracts/lens-workflow.contract.ts +0 -162
- package/src/contracts/lensFilter.ts +0 -1
- package/src/contracts/lensWorkflow.ts +0 -1
- package/src/contracts/mcp-tools.contract.ts +0 -3636
- package/src/contracts/mcpTools.ts +0 -1
- package/src/contracts/prompt.contract.ts +0 -50
- package/src/contracts/prompt.ts +0 -1
- package/src/contracts/sdk-tools.contract.ts +0 -1457
- package/src/contracts/sdkTools.ts +0 -1
- package/src/contracts/workflow-runtime.contract.ts +0 -440
- package/src/contracts/workflowRuntime.ts +0 -1
- package/src/coreClient.ts +0 -570
- package/src/customTools.ts +0 -398
- package/src/decisionsClient.ts +0 -286
- package/src/domainContext.ts +0 -15
- package/src/events.ts +0 -531
- package/src/eventsCore.ts +0 -168
- package/src/facade/beliefs.ts +0 -83
- package/src/facade/context.ts +0 -110
- package/src/facade/contradictions.ts +0 -29
- package/src/facade/edges.ts +0 -30
- package/src/facade/events.ts +0 -23
- package/src/facade/evidence.ts +0 -41
- package/src/facade/graph.ts +0 -38
- package/src/facade/identity.ts +0 -16
- package/src/facade/ontologies.ts +0 -34
- package/src/facade/questions.ts +0 -59
- package/src/facade/search.ts +0 -16
- package/src/facade/tasks.ts +0 -37
- package/src/facade/topics.ts +0 -42
- package/src/facade/webhooks.ts +0 -58
- package/src/facade/worktrees.ts +0 -51
- package/src/gatewayFacades.ts +0 -1666
- package/src/graphClient.ts +0 -529
- package/src/harnessClient.ts +0 -585
- package/src/identityClient.ts +0 -278
- package/src/index.ts +0 -49
- package/src/learningClient.ts +0 -95
- package/src/mcpParityClient.ts +0 -240
- package/src/ontologyClient.ts +0 -275
- package/src/packRuntime.ts +0 -3
- package/src/packsClient.ts +0 -260
- package/src/policyClient.ts +0 -572
- package/src/promptCatalog.ts +0 -1
- package/src/realtime/index.ts +0 -51
- package/src/reportsClient.ts +0 -99
- package/src/schemaClient.ts +0 -129
- package/src/sdkSurface.ts +0 -190
- package/src/topicsClient.ts +0 -243
- package/src/types.ts +0 -807
- package/src/version.ts +0 -2
- package/src/workflowClient.ts +0 -826
- package/tsconfig.json +0 -9
package/src/customTools.ts
DELETED
|
@@ -1,398 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import type {
|
|
3
|
-
McpParameterDef,
|
|
4
|
-
McpResponseDef,
|
|
5
|
-
McpToolContract,
|
|
6
|
-
} from "./contracts/mcpTools";
|
|
7
|
-
import type { JsonObject } from "./types";
|
|
8
|
-
|
|
9
|
-
/** Default namespace assigned to custom tools when none is specified. */
|
|
10
|
-
const DEFAULT_CUSTOM_NAMESPACE = "custom";
|
|
11
|
-
|
|
12
|
-
/** Namespace strings reserved for platform-internal tools. */
|
|
13
|
-
const RESERVED_NAMESPACES = new Set(["lucern"]);
|
|
14
|
-
|
|
15
|
-
type AnyZodObject = z.ZodObject<z.ZodRawShape>;
|
|
16
|
-
|
|
17
|
-
/** Origin of a custom tool invocation (SDK call or MCP request). */
|
|
18
|
-
export type CustomToolInvocationSource = "sdk" | "mcp";
|
|
19
|
-
|
|
20
|
-
/** Runtime context passed to a custom tool handler during invocation. */
|
|
21
|
-
export type CustomToolInvocationContext = {
|
|
22
|
-
source: CustomToolInvocationSource;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/** Optional metadata attached to a custom tool registration. */
|
|
26
|
-
export type CustomToolMetadata = {
|
|
27
|
-
category?: string;
|
|
28
|
-
tags?: string[];
|
|
29
|
-
requiredScopes?: string[];
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
/** Input descriptor for registering a custom tool with its schemas and handler. */
|
|
33
|
-
export type CustomToolRegistration<
|
|
34
|
-
TInput extends AnyZodObject = AnyZodObject,
|
|
35
|
-
TOutput extends z.ZodTypeAny = z.ZodTypeAny,
|
|
36
|
-
> = {
|
|
37
|
-
namespace?: string;
|
|
38
|
-
name: string;
|
|
39
|
-
description: string;
|
|
40
|
-
inputSchema: TInput;
|
|
41
|
-
outputSchema: TOutput;
|
|
42
|
-
handler: (
|
|
43
|
-
input: z.infer<TInput>,
|
|
44
|
-
context: CustomToolInvocationContext
|
|
45
|
-
) => Promise<z.infer<TOutput>> | z.infer<TOutput>;
|
|
46
|
-
metadata?: CustomToolMetadata;
|
|
47
|
-
ownerModule?: string;
|
|
48
|
-
ontologyPrimitive?: McpToolContract["ontologyPrimitive"];
|
|
49
|
-
tier?: McpToolContract["tier"];
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/** A fully resolved custom tool entry stored in the in-memory registry. */
|
|
53
|
-
export type RegisteredCustomTool = {
|
|
54
|
-
fullName: string;
|
|
55
|
-
namespace: string;
|
|
56
|
-
shortName: string;
|
|
57
|
-
metadata: CustomToolMetadata;
|
|
58
|
-
contract: McpToolContract;
|
|
59
|
-
inputSchema: AnyZodObject;
|
|
60
|
-
outputSchema: z.ZodTypeAny;
|
|
61
|
-
invoke: (
|
|
62
|
-
input: JsonObject,
|
|
63
|
-
context: CustomToolInvocationContext
|
|
64
|
-
) => Promise<unknown>;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
/** Error thrown when custom tool registration or invocation fails validation. */
|
|
68
|
-
export class CustomToolRegistryError extends Error {
|
|
69
|
-
constructor(message: string) {
|
|
70
|
-
super(message);
|
|
71
|
-
this.name = "CustomToolRegistryError";
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const customToolRegistry = new Map<string, RegisteredCustomTool>();
|
|
76
|
-
|
|
77
|
-
function normalizeSegment(value: string, field: "namespace" | "name"): string {
|
|
78
|
-
const normalized = value.trim();
|
|
79
|
-
if (!normalized) {
|
|
80
|
-
throw new CustomToolRegistryError(`Custom tool ${field} is required.`);
|
|
81
|
-
}
|
|
82
|
-
if (!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(normalized)) {
|
|
83
|
-
throw new CustomToolRegistryError(
|
|
84
|
-
`Invalid custom tool ${field}: "${value}". Use letters, numbers, "_" or "-".`
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
return normalized;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
function normalizeNamespace(namespace?: string): string {
|
|
91
|
-
const resolved = normalizeSegment(
|
|
92
|
-
namespace ?? DEFAULT_CUSTOM_NAMESPACE,
|
|
93
|
-
"namespace"
|
|
94
|
-
);
|
|
95
|
-
if (RESERVED_NAMESPACES.has(resolved.toLowerCase())) {
|
|
96
|
-
throw new CustomToolRegistryError(
|
|
97
|
-
`Namespace "${resolved}" is reserved for platform tools.`
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
return resolved;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function normalizeName(name: string): string {
|
|
104
|
-
if (name.includes(".")) {
|
|
105
|
-
throw new CustomToolRegistryError(
|
|
106
|
-
`Custom tool name "${name}" must not include "."; use namespace + name.`
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
return normalizeSegment(name, "name");
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
function buildFullName(namespace: string, shortName: string): string {
|
|
113
|
-
return `${namespace}.${shortName}`;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function unwrapSchema(schema: z.ZodTypeAny): {
|
|
117
|
-
schema: z.ZodTypeAny;
|
|
118
|
-
required: boolean;
|
|
119
|
-
} {
|
|
120
|
-
if (schema instanceof z.ZodOptional) {
|
|
121
|
-
return { schema: schema.unwrap(), required: false };
|
|
122
|
-
}
|
|
123
|
-
if (schema instanceof z.ZodDefault) {
|
|
124
|
-
const removeDefault = (
|
|
125
|
-
schema as unknown as { removeDefault?: () => z.ZodTypeAny }
|
|
126
|
-
).removeDefault;
|
|
127
|
-
if (typeof removeDefault === "function") {
|
|
128
|
-
return { schema: removeDefault.call(schema), required: false };
|
|
129
|
-
}
|
|
130
|
-
const inner = (schema as unknown as { _def?: { innerType?: z.ZodTypeAny } })
|
|
131
|
-
._def?.innerType;
|
|
132
|
-
return { schema: inner ?? schema, required: false };
|
|
133
|
-
}
|
|
134
|
-
return { schema, required: true };
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
function resolveParameterType(schema: z.ZodTypeAny): {
|
|
138
|
-
type: McpParameterDef["type"];
|
|
139
|
-
enum?: string[];
|
|
140
|
-
} {
|
|
141
|
-
if (schema instanceof z.ZodString) {
|
|
142
|
-
return { type: "string" };
|
|
143
|
-
}
|
|
144
|
-
if (schema instanceof z.ZodEnum) {
|
|
145
|
-
return { type: "string", enum: schema.options };
|
|
146
|
-
}
|
|
147
|
-
if (schema instanceof z.ZodNativeEnum) {
|
|
148
|
-
const values = Object.values(schema.enum).filter(
|
|
149
|
-
(value): value is string => typeof value === "string"
|
|
150
|
-
);
|
|
151
|
-
return values.length > 0
|
|
152
|
-
? { type: "string", enum: values }
|
|
153
|
-
: { type: "string" };
|
|
154
|
-
}
|
|
155
|
-
if (schema instanceof z.ZodLiteral) {
|
|
156
|
-
const literalValue = schema.value;
|
|
157
|
-
if (typeof literalValue === "string") {
|
|
158
|
-
return { type: "string", enum: [literalValue] };
|
|
159
|
-
}
|
|
160
|
-
if (typeof literalValue === "number") {
|
|
161
|
-
return { type: "number" };
|
|
162
|
-
}
|
|
163
|
-
if (typeof literalValue === "boolean") {
|
|
164
|
-
return { type: "boolean" };
|
|
165
|
-
}
|
|
166
|
-
return { type: "object" };
|
|
167
|
-
}
|
|
168
|
-
if (schema instanceof z.ZodNumber) {
|
|
169
|
-
return { type: "number" };
|
|
170
|
-
}
|
|
171
|
-
if (schema instanceof z.ZodBoolean) {
|
|
172
|
-
return { type: "boolean" };
|
|
173
|
-
}
|
|
174
|
-
if (schema instanceof z.ZodArray) {
|
|
175
|
-
return { type: "array" };
|
|
176
|
-
}
|
|
177
|
-
return { type: "object" };
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
function schemaTypeLabel(schema: z.ZodTypeAny): string {
|
|
181
|
-
if (schema instanceof z.ZodString || schema instanceof z.ZodEnum) {
|
|
182
|
-
return "string";
|
|
183
|
-
}
|
|
184
|
-
if (schema instanceof z.ZodNumber) {
|
|
185
|
-
return "number";
|
|
186
|
-
}
|
|
187
|
-
if (schema instanceof z.ZodBoolean) {
|
|
188
|
-
return "boolean";
|
|
189
|
-
}
|
|
190
|
-
if (schema instanceof z.ZodArray) {
|
|
191
|
-
return "array";
|
|
192
|
-
}
|
|
193
|
-
if (schema instanceof z.ZodObject) {
|
|
194
|
-
return "object";
|
|
195
|
-
}
|
|
196
|
-
return "unknown";
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
function parseObjectSchema<TInput extends AnyZodObject>(
|
|
200
|
-
value: TInput,
|
|
201
|
-
fieldName: string
|
|
202
|
-
): TInput {
|
|
203
|
-
if (!(value instanceof z.ZodObject)) {
|
|
204
|
-
throw new CustomToolRegistryError(
|
|
205
|
-
`${fieldName} must be a Zod object schema.`
|
|
206
|
-
);
|
|
207
|
-
}
|
|
208
|
-
return value;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
function deriveParameters(schema: AnyZodObject): {
|
|
212
|
-
parameters: Record<string, McpParameterDef>;
|
|
213
|
-
required: string[];
|
|
214
|
-
} {
|
|
215
|
-
const shape = schema.shape;
|
|
216
|
-
const parameters: Record<string, McpParameterDef> = {};
|
|
217
|
-
const required: string[] = [];
|
|
218
|
-
|
|
219
|
-
for (const [key, raw] of Object.entries(shape)) {
|
|
220
|
-
const { schema: unwrapped, required: isRequired } = unwrapSchema(
|
|
221
|
-
raw as z.ZodTypeAny
|
|
222
|
-
);
|
|
223
|
-
const parameterType = resolveParameterType(unwrapped);
|
|
224
|
-
parameters[key] = {
|
|
225
|
-
type: parameterType.type,
|
|
226
|
-
description: (raw as z.ZodTypeAny).description ?? `${key} parameter`,
|
|
227
|
-
...(parameterType.enum ? { enum: parameterType.enum } : {}),
|
|
228
|
-
};
|
|
229
|
-
if (isRequired) {
|
|
230
|
-
required.push(key);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
return { parameters, required };
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
function deriveResponse(schema: z.ZodTypeAny): McpResponseDef {
|
|
238
|
-
if (schema instanceof z.ZodObject) {
|
|
239
|
-
const fields = Object.fromEntries(
|
|
240
|
-
Object.entries(schema.shape).map(([key, value]) => {
|
|
241
|
-
const zodValue = value as z.ZodTypeAny;
|
|
242
|
-
const label = schemaTypeLabel(unwrapSchema(zodValue).schema);
|
|
243
|
-
const description = zodValue.description ?? "custom output field";
|
|
244
|
-
return [key, `${label} — ${description}`];
|
|
245
|
-
})
|
|
246
|
-
);
|
|
247
|
-
return {
|
|
248
|
-
description: "Custom tool result payload",
|
|
249
|
-
fields,
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
return {
|
|
254
|
-
description: "Custom tool result payload",
|
|
255
|
-
fields: {
|
|
256
|
-
result: `${schemaTypeLabel(schema)} — custom output payload`,
|
|
257
|
-
},
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
function buildContract<
|
|
262
|
-
TInput extends AnyZodObject,
|
|
263
|
-
TOutput extends z.ZodTypeAny,
|
|
264
|
-
>(
|
|
265
|
-
fullName: string,
|
|
266
|
-
namespace: string,
|
|
267
|
-
registration: CustomToolRegistration<TInput, TOutput>,
|
|
268
|
-
inputSchema: TInput
|
|
269
|
-
): McpToolContract {
|
|
270
|
-
const { parameters, required } = deriveParameters(inputSchema);
|
|
271
|
-
return {
|
|
272
|
-
name: fullName,
|
|
273
|
-
description: registration.description,
|
|
274
|
-
parameters,
|
|
275
|
-
required,
|
|
276
|
-
response: deriveResponse(registration.outputSchema),
|
|
277
|
-
ownerModule: registration.ownerModule ?? `${namespace}-extension`,
|
|
278
|
-
ontologyPrimitive: registration.ontologyPrimitive ?? "task",
|
|
279
|
-
tier: registration.tier ?? "workhorse",
|
|
280
|
-
};
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* Register a custom SDK tool in the in-memory registry.
|
|
285
|
-
* @param registration - The tool definition including name, schemas, and handler.
|
|
286
|
-
* @param options - Optional flags; set `replace` to overwrite an existing registration.
|
|
287
|
-
* @returns The fully resolved registered tool entry.
|
|
288
|
-
*/
|
|
289
|
-
export function registerCustomTool<
|
|
290
|
-
TInput extends AnyZodObject,
|
|
291
|
-
TOutput extends z.ZodTypeAny,
|
|
292
|
-
>(
|
|
293
|
-
registration: CustomToolRegistration<TInput, TOutput>,
|
|
294
|
-
options: { replace?: boolean } = {}
|
|
295
|
-
): RegisteredCustomTool {
|
|
296
|
-
const namespace = normalizeNamespace(registration.namespace);
|
|
297
|
-
const shortName = normalizeName(registration.name);
|
|
298
|
-
const fullName = buildFullName(namespace, shortName);
|
|
299
|
-
|
|
300
|
-
if (customToolRegistry.has(fullName) && !options.replace) {
|
|
301
|
-
throw new CustomToolRegistryError(
|
|
302
|
-
`Custom tool "${fullName}" is already registered.`
|
|
303
|
-
);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
const inputSchema = parseObjectSchema(
|
|
307
|
-
registration.inputSchema,
|
|
308
|
-
"inputSchema"
|
|
309
|
-
);
|
|
310
|
-
const outputSchema = registration.outputSchema;
|
|
311
|
-
const contract = buildContract(
|
|
312
|
-
fullName,
|
|
313
|
-
namespace,
|
|
314
|
-
registration,
|
|
315
|
-
inputSchema
|
|
316
|
-
);
|
|
317
|
-
const metadata: CustomToolMetadata = {
|
|
318
|
-
category: registration.metadata?.category,
|
|
319
|
-
tags: registration.metadata?.tags ?? [],
|
|
320
|
-
requiredScopes: registration.metadata?.requiredScopes ?? ["custom:execute"],
|
|
321
|
-
};
|
|
322
|
-
|
|
323
|
-
const registered: RegisteredCustomTool = {
|
|
324
|
-
fullName,
|
|
325
|
-
namespace,
|
|
326
|
-
shortName,
|
|
327
|
-
metadata,
|
|
328
|
-
contract,
|
|
329
|
-
inputSchema,
|
|
330
|
-
outputSchema,
|
|
331
|
-
invoke: async (input, context) => {
|
|
332
|
-
const parsedInput = inputSchema.parse(input);
|
|
333
|
-
const rawOutput = await registration.handler(parsedInput, context);
|
|
334
|
-
return outputSchema.parse(rawOutput);
|
|
335
|
-
},
|
|
336
|
-
};
|
|
337
|
-
|
|
338
|
-
customToolRegistry.set(fullName, registered);
|
|
339
|
-
return registered;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
/**
|
|
343
|
-
* Remove a custom SDK tool from the registry.
|
|
344
|
-
* @param fullName - Fully qualified tool name (`namespace.name`).
|
|
345
|
-
* @returns `true` if the tool was found and removed, `false` otherwise.
|
|
346
|
-
*/
|
|
347
|
-
export function unregisterCustomTool(fullName: string): boolean {
|
|
348
|
-
return customToolRegistry.delete(fullName.trim());
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
/**
|
|
352
|
-
* Get a custom SDK tool by fully qualified name.
|
|
353
|
-
* @param fullName - Fully qualified tool name (`namespace.name`).
|
|
354
|
-
* @returns The registered tool entry, or `undefined` if not found.
|
|
355
|
-
*/
|
|
356
|
-
export function getRegisteredCustomTool(
|
|
357
|
-
fullName: string
|
|
358
|
-
): RegisteredCustomTool | undefined {
|
|
359
|
-
return customToolRegistry.get(fullName.trim());
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* List all registered custom SDK tools, sorted alphabetically by full name.
|
|
364
|
-
* @returns An array of all registered tool entries.
|
|
365
|
-
*/
|
|
366
|
-
export function listRegisteredCustomTools(): RegisteredCustomTool[] {
|
|
367
|
-
return [...customToolRegistry.values()].sort((left, right) =>
|
|
368
|
-
left.fullName.localeCompare(right.fullName)
|
|
369
|
-
);
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* Clear the registered custom tool registry.
|
|
374
|
-
*/
|
|
375
|
-
export function clearRegisteredCustomTools(): void {
|
|
376
|
-
customToolRegistry.clear();
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
/**
|
|
380
|
-
* Invoke a registered custom SDK tool by fully qualified name.
|
|
381
|
-
* @param fullName - Fully qualified tool name (`namespace.name`).
|
|
382
|
-
* @param params - JSON-serializable input parameters for the tool handler.
|
|
383
|
-
* @param context - Invocation context indicating the call source.
|
|
384
|
-
* @returns The validated output from the tool handler.
|
|
385
|
-
*/
|
|
386
|
-
export async function invokeRegisteredCustomTool(
|
|
387
|
-
fullName: string,
|
|
388
|
-
params: JsonObject,
|
|
389
|
-
context: CustomToolInvocationContext
|
|
390
|
-
): Promise<unknown> {
|
|
391
|
-
const registered = getRegisteredCustomTool(fullName);
|
|
392
|
-
if (!registered) {
|
|
393
|
-
throw new CustomToolRegistryError(
|
|
394
|
-
`Custom tool "${fullName}" is not registered.`
|
|
395
|
-
);
|
|
396
|
-
}
|
|
397
|
-
return registered.invoke(params, context);
|
|
398
|
-
}
|
package/src/decisionsClient.ts
DELETED
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createGatewayRequestClient,
|
|
3
|
-
type GatewayClientConfig,
|
|
4
|
-
LucernApiError,
|
|
5
|
-
randomIdempotencyKey,
|
|
6
|
-
toQueryString,
|
|
7
|
-
} from "./coreClient";
|
|
8
|
-
import {
|
|
9
|
-
createListResult,
|
|
10
|
-
mapGatewayData,
|
|
11
|
-
normalizeTopicQuery,
|
|
12
|
-
withTopicAlias,
|
|
13
|
-
} from "./sdkSurface";
|
|
14
|
-
import type {
|
|
15
|
-
GetJudgmentResponse,
|
|
16
|
-
JudgmentCalibrationResponse,
|
|
17
|
-
JudgmentRecord,
|
|
18
|
-
JudgmentReadinessResponse,
|
|
19
|
-
JudgmentTransitionAuditIntegrityResponse,
|
|
20
|
-
ListJudgmentsResponse,
|
|
21
|
-
PendingJudgmentOutcomeReviewResponse,
|
|
22
|
-
PendingJudgmentOutcomeRecord,
|
|
23
|
-
RecordJudgmentOutcomeResponse,
|
|
24
|
-
RecordJudgmentResponse,
|
|
25
|
-
TopicIdentifierInput,
|
|
26
|
-
} from "./types";
|
|
27
|
-
|
|
28
|
-
export { LucernApiError };
|
|
29
|
-
export type { PlatformGatewaySuccess } from "./coreClient";
|
|
30
|
-
export type {
|
|
31
|
-
GetJudgmentResponse,
|
|
32
|
-
JudgmentCalibrationResponse,
|
|
33
|
-
JudgmentReadinessResponse,
|
|
34
|
-
JudgmentTransitionAuditIntegrityResponse,
|
|
35
|
-
ListJudgmentsResponse,
|
|
36
|
-
PendingJudgmentOutcomeReviewResponse,
|
|
37
|
-
RecordJudgmentOutcomeResponse,
|
|
38
|
-
RecordJudgmentResponse,
|
|
39
|
-
} from "./types";
|
|
40
|
-
|
|
41
|
-
/** Configuration for the decisions client. */
|
|
42
|
-
export type DecisionsClientConfig = GatewayClientConfig;
|
|
43
|
-
|
|
44
|
-
/** Input for recording a new judgment (irreversible decision commitment). */
|
|
45
|
-
export type RecordJudgmentInput = {
|
|
46
|
-
title: string;
|
|
47
|
-
summary?: string;
|
|
48
|
-
rationale: string;
|
|
49
|
-
topicId?: string;
|
|
50
|
-
confidence?: number;
|
|
51
|
-
decisionConfidence?: number;
|
|
52
|
-
judgmentType?: string;
|
|
53
|
-
decisionType?: string;
|
|
54
|
-
beliefIds?: string[];
|
|
55
|
-
keyUncertainties?: string[];
|
|
56
|
-
alternativesConsidered?: string[];
|
|
57
|
-
decisionMakers?: string[];
|
|
58
|
-
companyId?: string;
|
|
59
|
-
amount?: number;
|
|
60
|
-
valuation?: number;
|
|
61
|
-
terms?: string;
|
|
62
|
-
themeIds?: string[];
|
|
63
|
-
} & TopicIdentifierInput;
|
|
64
|
-
|
|
65
|
-
/** Filter parameters for listing judgments within a topic scope. */
|
|
66
|
-
export type ListJudgmentsInput = {
|
|
67
|
-
topicId?: string;
|
|
68
|
-
includeArchived?: boolean;
|
|
69
|
-
limit?: number;
|
|
70
|
-
} & TopicIdentifierInput;
|
|
71
|
-
|
|
72
|
-
/** Input for recording the real-world outcome of a judgment. */
|
|
73
|
-
export type RecordJudgmentOutcomeInput = {
|
|
74
|
-
outcome:
|
|
75
|
-
| "pending"
|
|
76
|
-
| "successful"
|
|
77
|
-
| "unsuccessful"
|
|
78
|
-
| "mixed"
|
|
79
|
-
| "unknown"
|
|
80
|
-
| "too_early";
|
|
81
|
-
outcomeNotes?: string;
|
|
82
|
-
notes?: string;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
/** Input for retrieving judgment calibration analytics. */
|
|
86
|
-
export type GetJudgmentCalibrationInput = {
|
|
87
|
-
topicId?: string;
|
|
88
|
-
} & TopicIdentifierInput;
|
|
89
|
-
|
|
90
|
-
/** Input for listing judgments still awaiting outcome review. */
|
|
91
|
-
export type ListPendingJudgmentOutcomeReviewInput = {
|
|
92
|
-
topicId?: string;
|
|
93
|
-
} & TopicIdentifierInput;
|
|
94
|
-
|
|
95
|
-
/** Input for checking audit integrity of judgment state transitions. */
|
|
96
|
-
export type GetJudgmentTransitionAuditIntegrityInput = {
|
|
97
|
-
topicId?: string;
|
|
98
|
-
judgmentId?: string;
|
|
99
|
-
includePassing?: boolean;
|
|
100
|
-
} & TopicIdentifierInput;
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Create the judgments client for decision lifecycle operations.
|
|
104
|
-
* @param config - Gateway transport configuration.
|
|
105
|
-
* @returns An object with methods to manage judgments, outcomes, readiness, and calibration.
|
|
106
|
-
*/
|
|
107
|
-
export function createDecisionsClient(config: DecisionsClientConfig = {}) {
|
|
108
|
-
const gateway = createGatewayRequestClient(config);
|
|
109
|
-
|
|
110
|
-
return {
|
|
111
|
-
/**
|
|
112
|
-
* List judgments for a topic scope.
|
|
113
|
-
*/
|
|
114
|
-
async listJudgments(query: ListJudgmentsInput) {
|
|
115
|
-
return gateway.request<ListJudgmentsResponse>({
|
|
116
|
-
path: `/api/platform/v1/graph/judgments${toQueryString({
|
|
117
|
-
...normalizeTopicQuery(query),
|
|
118
|
-
includeArchived:
|
|
119
|
-
typeof query.includeArchived === "boolean"
|
|
120
|
-
? query.includeArchived
|
|
121
|
-
? "true"
|
|
122
|
-
: "false"
|
|
123
|
-
: undefined,
|
|
124
|
-
limit: query.limit,
|
|
125
|
-
})}`,
|
|
126
|
-
}).then((response) =>
|
|
127
|
-
mapGatewayData(response, (data) => {
|
|
128
|
-
const rows = Array.isArray(data) ? data : [];
|
|
129
|
-
const judgments = rows.map((row) =>
|
|
130
|
-
withTopicAlias(row as Record<string, unknown>) as JudgmentRecord
|
|
131
|
-
);
|
|
132
|
-
return {
|
|
133
|
-
...createListResult(judgments, "judgments"),
|
|
134
|
-
} as ListJudgmentsResponse;
|
|
135
|
-
})
|
|
136
|
-
);
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Get a single judgment by identifier.
|
|
141
|
-
*/
|
|
142
|
-
async getJudgment(judgmentId: string) {
|
|
143
|
-
return gateway.request<GetJudgmentResponse>({
|
|
144
|
-
path: `/api/platform/v1/graph/judgments/${encodeURIComponent(judgmentId)}`,
|
|
145
|
-
}).then((response) =>
|
|
146
|
-
mapGatewayData(response, (data) =>
|
|
147
|
-
data && typeof data === "object"
|
|
148
|
-
? (withTopicAlias(
|
|
149
|
-
data as Record<string, unknown>
|
|
150
|
-
) as GetJudgmentResponse)
|
|
151
|
-
: data
|
|
152
|
-
)
|
|
153
|
-
);
|
|
154
|
-
},
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Get readiness signals for creating a judgment.
|
|
158
|
-
*/
|
|
159
|
-
async getJudgmentReadiness(query: {
|
|
160
|
-
topicId?: string;
|
|
161
|
-
} & TopicIdentifierInput) {
|
|
162
|
-
return gateway.request<JudgmentReadinessResponse>({
|
|
163
|
-
path: `/api/platform/v1/graph/judgments/readiness${toQueryString(
|
|
164
|
-
normalizeTopicQuery(query)
|
|
165
|
-
)}`,
|
|
166
|
-
});
|
|
167
|
-
},
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Get calibration analytics for judgment outcomes.
|
|
171
|
-
*/
|
|
172
|
-
async getJudgmentCalibration(query: GetJudgmentCalibrationInput) {
|
|
173
|
-
return gateway.request<JudgmentCalibrationResponse>({
|
|
174
|
-
path: `/api/platform/v1/graph/judgments/calibration${toQueryString(
|
|
175
|
-
normalizeTopicQuery(query)
|
|
176
|
-
)}`,
|
|
177
|
-
});
|
|
178
|
-
},
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* List judgments still awaiting outcome review.
|
|
182
|
-
*/
|
|
183
|
-
async listPendingOutcomeReviews(
|
|
184
|
-
query: ListPendingJudgmentOutcomeReviewInput
|
|
185
|
-
) {
|
|
186
|
-
return gateway.request<PendingJudgmentOutcomeReviewResponse>({
|
|
187
|
-
path: `/api/platform/v1/graph/judgments/pending-outcome-review${toQueryString(
|
|
188
|
-
normalizeTopicQuery(query)
|
|
189
|
-
)}`,
|
|
190
|
-
}).then((response) =>
|
|
191
|
-
mapGatewayData(response, (data) => {
|
|
192
|
-
const rows = Array.isArray(data) ? data : [];
|
|
193
|
-
const reviews = rows.map((row) =>
|
|
194
|
-
withTopicAlias(
|
|
195
|
-
row as Record<string, unknown>
|
|
196
|
-
) as PendingJudgmentOutcomeRecord
|
|
197
|
-
);
|
|
198
|
-
return createListResult(reviews, "reviews");
|
|
199
|
-
})
|
|
200
|
-
);
|
|
201
|
-
},
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* @deprecated Use listPendingOutcomeReviews.
|
|
205
|
-
*/
|
|
206
|
-
async listPendingJudgmentOutcomeReview(
|
|
207
|
-
query: ListPendingJudgmentOutcomeReviewInput
|
|
208
|
-
) {
|
|
209
|
-
return this.listPendingOutcomeReviews(query);
|
|
210
|
-
},
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Get audit integrity checks for judgment transitions.
|
|
214
|
-
*/
|
|
215
|
-
async getJudgmentTransitionAuditIntegrity(
|
|
216
|
-
query: GetJudgmentTransitionAuditIntegrityInput
|
|
217
|
-
) {
|
|
218
|
-
return gateway.request<JudgmentTransitionAuditIntegrityResponse>({
|
|
219
|
-
path: `/api/platform/v1/graph/judgments/transition-audit-integrity${toQueryString(
|
|
220
|
-
{
|
|
221
|
-
...normalizeTopicQuery(query),
|
|
222
|
-
judgmentId: query.judgmentId,
|
|
223
|
-
includePassing:
|
|
224
|
-
typeof query.includePassing === "boolean"
|
|
225
|
-
? query.includePassing
|
|
226
|
-
? "true"
|
|
227
|
-
: "false"
|
|
228
|
-
: undefined,
|
|
229
|
-
}
|
|
230
|
-
)}`,
|
|
231
|
-
});
|
|
232
|
-
},
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* Create a judgment.
|
|
236
|
-
*/
|
|
237
|
-
async createJudgment(input: RecordJudgmentInput, idempotencyKey?: string) {
|
|
238
|
-
return gateway.request<RecordJudgmentResponse>({
|
|
239
|
-
path: "/api/platform/v1/graph/judgments",
|
|
240
|
-
method: "POST",
|
|
241
|
-
body: normalizeTopicQuery(input),
|
|
242
|
-
idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
|
|
243
|
-
}).then((response) =>
|
|
244
|
-
mapGatewayData(response, (data) =>
|
|
245
|
-
withTopicAlias(
|
|
246
|
-
data as Record<string, unknown>
|
|
247
|
-
) as RecordJudgmentResponse
|
|
248
|
-
)
|
|
249
|
-
);
|
|
250
|
-
},
|
|
251
|
-
|
|
252
|
-
/**
|
|
253
|
-
* @deprecated Use createJudgment.
|
|
254
|
-
*/
|
|
255
|
-
async recordJudgment(input: RecordJudgmentInput, idempotencyKey?: string) {
|
|
256
|
-
return this.createJudgment(input, idempotencyKey);
|
|
257
|
-
},
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* Update the outcome for an existing judgment.
|
|
261
|
-
*/
|
|
262
|
-
async updateJudgmentOutcome(
|
|
263
|
-
judgmentId: string,
|
|
264
|
-
input: RecordJudgmentOutcomeInput,
|
|
265
|
-
idempotencyKey?: string
|
|
266
|
-
) {
|
|
267
|
-
return gateway.request<RecordJudgmentOutcomeResponse>({
|
|
268
|
-
path: `/api/platform/v1/graph/judgments/${encodeURIComponent(judgmentId)}/outcome`,
|
|
269
|
-
method: "POST",
|
|
270
|
-
body: input,
|
|
271
|
-
idempotencyKey: idempotencyKey ?? randomIdempotencyKey(),
|
|
272
|
-
});
|
|
273
|
-
},
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* @deprecated Use updateJudgmentOutcome.
|
|
277
|
-
*/
|
|
278
|
-
async recordJudgmentOutcome(
|
|
279
|
-
judgmentId: string,
|
|
280
|
-
input: RecordJudgmentOutcomeInput,
|
|
281
|
-
idempotencyKey?: string
|
|
282
|
-
) {
|
|
283
|
-
return this.updateJudgmentOutcome(judgmentId, input, idempotencyKey);
|
|
284
|
-
},
|
|
285
|
-
};
|
|
286
|
-
}
|
package/src/domainContext.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
CompileContextInput,
|
|
3
|
-
ContextCompilationMode,
|
|
4
|
-
ContextPackSectionKey,
|
|
5
|
-
ContextRankingProfile,
|
|
6
|
-
PackWeightOverride,
|
|
7
|
-
PublicCompiledContext,
|
|
8
|
-
PublicContextBelief,
|
|
9
|
-
PublicContextContradiction,
|
|
10
|
-
PublicContextEntity,
|
|
11
|
-
PublicContextEvidence,
|
|
12
|
-
PublicContextInjectionPolicy,
|
|
13
|
-
PublicContextQuestion,
|
|
14
|
-
RankingWeightVector,
|
|
15
|
-
} from "./contextTypes";
|