@x12i/memorix-scoper-contracts 1.0.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/README.md +9 -0
- package/dist/errors.d.ts +24 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +70 -0
- package/dist/errors.js.map +1 -0
- package/dist/evidence.d.ts +2 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +2 -0
- package/dist/evidence.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/catalog.d.ts +441 -0
- package/dist/schemas/catalog.d.ts.map +1 -0
- package/dist/schemas/catalog.js +55 -0
- package/dist/schemas/catalog.js.map +1 -0
- package/dist/schemas/evidence.d.ts +602 -0
- package/dist/schemas/evidence.d.ts.map +1 -0
- package/dist/schemas/evidence.js +83 -0
- package/dist/schemas/evidence.js.map +1 -0
- package/dist/schemas/index.d.ts +6 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +6 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/nexum-persist.d.ts +47 -0
- package/dist/schemas/nexum-persist.d.ts.map +1 -0
- package/dist/schemas/nexum-persist.js +27 -0
- package/dist/schemas/nexum-persist.js.map +1 -0
- package/dist/schemas/profile.d.ts +69 -0
- package/dist/schemas/profile.d.ts.map +1 -0
- package/dist/schemas/profile.js +15 -0
- package/dist/schemas/profile.js.map +1 -0
- package/dist/schemas/request.d.ts +296 -0
- package/dist/schemas/request.d.ts.map +1 -0
- package/dist/schemas/request.js +98 -0
- package/dist/schemas/request.js.map +1 -0
- package/dist/schemas.d.ts +1077 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +199 -0
- package/dist/schemas.js.map +1 -0
- package/dist/schemas.test.d.ts +2 -0
- package/dist/schemas.test.d.ts.map +1 -0
- package/dist/schemas.test.js +29 -0
- package/dist/schemas.test.js.map +1 -0
- package/package.json +53 -0
- package/schemas/CatalogEntry.json +17 -0
- package/schemas/CatalogEntry.schema.json +157 -0
- package/schemas/EvidenceBundle.json +15 -0
- package/schemas/EvidenceBundle.schema.json +469 -0
- package/schemas/EvidenceItem.json +15 -0
- package/schemas/EvidenceRef.json +9 -0
- package/schemas/EvidenceSelection.schema.json +83 -0
- package/schemas/RetrievalPlan.json +13 -0
- package/schemas/RetrievalPlan.schema.json +73 -0
- package/schemas/RetrievalStep.json +14 -0
- package/schemas/ScopeRequest.json +28 -0
- package/schemas/ScopeRequest.schema.json +108 -0
- package/schemas/ScoperBudgets.json +14 -0
- package/schemas/ScoperProfile.json +17 -0
- package/schemas/TrustedExecutionContext.json +22 -0
- package/schemas/TrustedExecutionContext.schema.json +129 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ScoperBudgetsSchema, TrustedExecutionContextSchema, ScopeRequestSchema, DEFAULT_SCOPER_BUDGETS, clampBudgets, type ScoperBudgets, type TrustedExecutionContext, type ScopeRequest, SubjectDataRequestSchema, SubjectDataPieceSchema, SubjectDataResponseSchema, type SubjectDataRequest, type SubjectDataPiece, type SubjectDataResponse, } from "./request.js";
|
|
2
|
+
export { SubjectEvidenceRefSchema, EstateBagEvidenceRefSchema, KnowledgeExploreEvidenceRefSchema, EvidenceRefSchema, EpistemicClassSchema, EvidenceItemSchema, ConflictSchema, UnknownSchema, WarningSchema, ContinuationSchema, EvidenceBundleSchema, type SubjectEvidenceRef, type EstateBagEvidenceRef, type KnowledgeExploreEvidenceRef, type EvidenceRef, type EpistemicClass, type EvidenceItem, type Conflict, type Unknown, type Warning, type Continuation, type EvidenceBundle, } from "./evidence.js";
|
|
3
|
+
export { CatalogCapabilitySchema, CatalogEntrySchema, CatalogSchema, RetrievalStepSchema, EvidenceSelectionSchema, RetrievalPlanSchema, type CatalogCapability, type CatalogEntry, type Catalog, type RetrievalStep, type EvidenceSelection, type RetrievalPlan, } from "./catalog.js";
|
|
4
|
+
export { ScoperProfileSchema, type ScoperProfile } from "./profile.js";
|
|
5
|
+
export { NEXUM_PERSIST_CONTRACT_VERSION, NEXUM_PERSIST_KIND, NEXUM_PERSIST_SERVICE_ID, NEXUM_PERSIST_OBJECT_TYPE, NEXUM_PERSIST_CONTENT_TYPE, MEMORIX_PAGE_DEFAULT, MEMORIX_PAGE_MAX, isMinimalNexumPersistEnvelope, type MinimalNexumPersistEnvelope, type NexumPersistData, type NexumPersistRecord, type ProposedGraph, } from "./nexum-persist.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC7B,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ScoperBudgetsSchema, TrustedExecutionContextSchema, ScopeRequestSchema, DEFAULT_SCOPER_BUDGETS, clampBudgets, SubjectDataRequestSchema, SubjectDataPieceSchema, SubjectDataResponseSchema, } from "./request.js";
|
|
2
|
+
export { SubjectEvidenceRefSchema, EstateBagEvidenceRefSchema, KnowledgeExploreEvidenceRefSchema, EvidenceRefSchema, EpistemicClassSchema, EvidenceItemSchema, ConflictSchema, UnknownSchema, WarningSchema, ContinuationSchema, EvidenceBundleSchema, } from "./evidence.js";
|
|
3
|
+
export { CatalogCapabilitySchema, CatalogEntrySchema, CatalogSchema, RetrievalStepSchema, EvidenceSelectionSchema, RetrievalPlanSchema, } from "./catalog.js";
|
|
4
|
+
export { ScoperProfileSchema } from "./profile.js";
|
|
5
|
+
export { NEXUM_PERSIST_CONTRACT_VERSION, NEXUM_PERSIST_KIND, NEXUM_PERSIST_SERVICE_ID, NEXUM_PERSIST_OBJECT_TYPE, NEXUM_PERSIST_CONTENT_TYPE, MEMORIX_PAGE_DEFAULT, MEMORIX_PAGE_MAX, isMinimalNexumPersistEnvelope, } from "./nexum-persist.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EAIZ,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,GAI1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GAYrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,GAOpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,mBAAmB,EAAsB,MAAM,cAAc,CAAC;AAEvE,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,GAK9B,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normative memorix-nexum-persist/1 types.
|
|
3
|
+
* Source: contracts/upstream/memorix/docs/nexum-persistence-schema.md
|
|
4
|
+
* (uncommitted Memorix working tree; see LOCK.json provenance)
|
|
5
|
+
*/
|
|
6
|
+
export declare const NEXUM_PERSIST_CONTRACT_VERSION: "memorix-nexum-persist/1";
|
|
7
|
+
export declare const NEXUM_PERSIST_KIND: "knowledge-graph";
|
|
8
|
+
export declare const NEXUM_PERSIST_SERVICE_ID: "nexum";
|
|
9
|
+
export declare const NEXUM_PERSIST_OBJECT_TYPE: "content";
|
|
10
|
+
export declare const NEXUM_PERSIST_CONTENT_TYPE: "snapshots";
|
|
11
|
+
/** Service list/query pagination bounds from the normative schema §7. */
|
|
12
|
+
export declare const MEMORIX_PAGE_DEFAULT = 50;
|
|
13
|
+
export declare const MEMORIX_PAGE_MAX = 200;
|
|
14
|
+
export type ProposedGraph = {
|
|
15
|
+
nodes: unknown[];
|
|
16
|
+
edges: unknown[];
|
|
17
|
+
unresolvedMentions: unknown[];
|
|
18
|
+
edgeCandidates: unknown[];
|
|
19
|
+
};
|
|
20
|
+
export type NexumPersistData = {
|
|
21
|
+
contractVersion: typeof NEXUM_PERSIST_CONTRACT_VERSION;
|
|
22
|
+
kind: typeof NEXUM_PERSIST_KIND;
|
|
23
|
+
serviceId: typeof NEXUM_PERSIST_SERVICE_ID;
|
|
24
|
+
proposedGraph: ProposedGraph;
|
|
25
|
+
sourceRefs: string[];
|
|
26
|
+
diagnostics?: Record<string, unknown>;
|
|
27
|
+
nodeCount: number;
|
|
28
|
+
edgeCount: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Stored subject shape for memorix-nexum-persist/1.
|
|
32
|
+
* `proposedGraph` is a non-authoritative analyze draft (not explore truth).
|
|
33
|
+
*/
|
|
34
|
+
export type NexumPersistRecord = {
|
|
35
|
+
format?: string;
|
|
36
|
+
recordId: string;
|
|
37
|
+
objectType: string;
|
|
38
|
+
contentType: string;
|
|
39
|
+
dataCategory?: string;
|
|
40
|
+
data: NexumPersistData;
|
|
41
|
+
concept?: Record<string, unknown>;
|
|
42
|
+
_system?: Record<string, unknown>;
|
|
43
|
+
};
|
|
44
|
+
/** @deprecated Prefer NexumPersistData — alias kept for transitional imports. */
|
|
45
|
+
export type MinimalNexumPersistEnvelope = NexumPersistData & Record<string, unknown>;
|
|
46
|
+
export declare function isMinimalNexumPersistEnvelope(data: unknown): data is MinimalNexumPersistEnvelope;
|
|
47
|
+
//# sourceMappingURL=nexum-persist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nexum-persist.d.ts","sourceRoot":"","sources":["../../src/schemas/nexum-persist.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,8BAA8B,EAAG,yBAAkC,CAAC;AACjF,eAAO,MAAM,kBAAkB,EAAG,iBAA0B,CAAC;AAC7D,eAAO,MAAM,wBAAwB,EAAG,OAAgB,CAAC;AACzD,eAAO,MAAM,yBAAyB,EAAG,SAAkB,CAAC;AAC5D,eAAO,MAAM,0BAA0B,EAAG,WAAoB,CAAC;AAE/D,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,cAAc,EAAE,OAAO,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,OAAO,8BAA8B,CAAC;IACvD,IAAI,EAAE,OAAO,kBAAkB,CAAC;IAChC,SAAS,EAAE,OAAO,wBAAwB,CAAC;IAC3C,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,2BAA2B,CAahG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normative memorix-nexum-persist/1 types.
|
|
3
|
+
* Source: contracts/upstream/memorix/docs/nexum-persistence-schema.md
|
|
4
|
+
* (uncommitted Memorix working tree; see LOCK.json provenance)
|
|
5
|
+
*/
|
|
6
|
+
export const NEXUM_PERSIST_CONTRACT_VERSION = "memorix-nexum-persist/1";
|
|
7
|
+
export const NEXUM_PERSIST_KIND = "knowledge-graph";
|
|
8
|
+
export const NEXUM_PERSIST_SERVICE_ID = "nexum";
|
|
9
|
+
export const NEXUM_PERSIST_OBJECT_TYPE = "content";
|
|
10
|
+
export const NEXUM_PERSIST_CONTENT_TYPE = "snapshots";
|
|
11
|
+
/** Service list/query pagination bounds from the normative schema §7. */
|
|
12
|
+
export const MEMORIX_PAGE_DEFAULT = 50;
|
|
13
|
+
export const MEMORIX_PAGE_MAX = 200;
|
|
14
|
+
export function isMinimalNexumPersistEnvelope(data) {
|
|
15
|
+
if (!data || typeof data !== "object" || Array.isArray(data))
|
|
16
|
+
return false;
|
|
17
|
+
const rec = data;
|
|
18
|
+
return (rec.contractVersion === NEXUM_PERSIST_CONTRACT_VERSION &&
|
|
19
|
+
rec.kind === NEXUM_PERSIST_KIND &&
|
|
20
|
+
rec.serviceId === NEXUM_PERSIST_SERVICE_ID &&
|
|
21
|
+
typeof rec.nodeCount === "number" &&
|
|
22
|
+
typeof rec.edgeCount === "number" &&
|
|
23
|
+
Array.isArray(rec.sourceRefs) &&
|
|
24
|
+
!!rec.proposedGraph &&
|
|
25
|
+
typeof rec.proposedGraph === "object");
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=nexum-persist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nexum-persist.js","sourceRoot":"","sources":["../../src/schemas/nexum-persist.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,yBAAkC,CAAC;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAA0B,CAAC;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAgB,CAAC;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,SAAkB,CAAC;AAC5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAoB,CAAC;AAE/D,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAsCpC,MAAM,UAAU,6BAA6B,CAAC,IAAa;IACzD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,OAAO,CACL,GAAG,CAAC,eAAe,KAAK,8BAA8B;QACtD,GAAG,CAAC,IAAI,KAAK,kBAAkB;QAC/B,GAAG,CAAC,SAAS,KAAK,wBAAwB;QAC1C,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAC7B,CAAC,CAAC,GAAG,CAAC,aAAa;QACnB,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CACtC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const ScoperProfileSchema: z.ZodObject<{
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
version: z.ZodString;
|
|
5
|
+
title: z.ZodString;
|
|
6
|
+
description: z.ZodString;
|
|
7
|
+
allowedCapabilities: z.ZodArray<z.ZodEnum<["subjects.get", "subjects.list", "subjects.query", "subjects.getNexumSnapshot", "estate.startSession", "estate.getBag", "estate.query", "explore.query", "catalog.describe"]>, "many">;
|
|
8
|
+
defaultBudgets: z.ZodOptional<z.ZodObject<{
|
|
9
|
+
maxSubjects: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
10
|
+
maxEvidenceItems: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
11
|
+
maxParallelCalls: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
12
|
+
maxTokens: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
13
|
+
maxWallClockMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
14
|
+
maxEstateSessions: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
maxSubjects?: number | undefined;
|
|
17
|
+
maxEvidenceItems?: number | undefined;
|
|
18
|
+
maxParallelCalls?: number | undefined;
|
|
19
|
+
maxTokens?: number | undefined;
|
|
20
|
+
maxWallClockMs?: number | undefined;
|
|
21
|
+
maxEstateSessions?: number | undefined;
|
|
22
|
+
}, {
|
|
23
|
+
maxSubjects?: number | undefined;
|
|
24
|
+
maxEvidenceItems?: number | undefined;
|
|
25
|
+
maxParallelCalls?: number | undefined;
|
|
26
|
+
maxTokens?: number | undefined;
|
|
27
|
+
maxWallClockMs?: number | undefined;
|
|
28
|
+
maxEstateSessions?: number | undefined;
|
|
29
|
+
}>>;
|
|
30
|
+
systemPrompt: z.ZodString;
|
|
31
|
+
epistemicRules: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
32
|
+
tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
33
|
+
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
tags: string[];
|
|
35
|
+
id: string;
|
|
36
|
+
version: string;
|
|
37
|
+
title: string;
|
|
38
|
+
description: string;
|
|
39
|
+
allowedCapabilities: ("subjects.get" | "subjects.list" | "subjects.query" | "subjects.getNexumSnapshot" | "estate.startSession" | "estate.getBag" | "estate.query" | "explore.query" | "catalog.describe")[];
|
|
40
|
+
systemPrompt: string;
|
|
41
|
+
epistemicRules: string[];
|
|
42
|
+
defaultBudgets?: {
|
|
43
|
+
maxSubjects?: number | undefined;
|
|
44
|
+
maxEvidenceItems?: number | undefined;
|
|
45
|
+
maxParallelCalls?: number | undefined;
|
|
46
|
+
maxTokens?: number | undefined;
|
|
47
|
+
maxWallClockMs?: number | undefined;
|
|
48
|
+
maxEstateSessions?: number | undefined;
|
|
49
|
+
} | undefined;
|
|
50
|
+
}, {
|
|
51
|
+
id: string;
|
|
52
|
+
version: string;
|
|
53
|
+
title: string;
|
|
54
|
+
description: string;
|
|
55
|
+
allowedCapabilities: ("subjects.get" | "subjects.list" | "subjects.query" | "subjects.getNexumSnapshot" | "estate.startSession" | "estate.getBag" | "estate.query" | "explore.query" | "catalog.describe")[];
|
|
56
|
+
systemPrompt: string;
|
|
57
|
+
tags?: string[] | undefined;
|
|
58
|
+
defaultBudgets?: {
|
|
59
|
+
maxSubjects?: number | undefined;
|
|
60
|
+
maxEvidenceItems?: number | undefined;
|
|
61
|
+
maxParallelCalls?: number | undefined;
|
|
62
|
+
maxTokens?: number | undefined;
|
|
63
|
+
maxWallClockMs?: number | undefined;
|
|
64
|
+
maxEstateSessions?: number | undefined;
|
|
65
|
+
} | undefined;
|
|
66
|
+
epistemicRules?: string[] | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
export type ScoperProfile = z.infer<typeof ScoperProfileSchema>;
|
|
69
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/schemas/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ScoperBudgetsSchema } from "./request.js";
|
|
3
|
+
import { CatalogCapabilitySchema } from "./catalog.js";
|
|
4
|
+
export const ScoperProfileSchema = z.object({
|
|
5
|
+
id: z.string().min(1),
|
|
6
|
+
version: z.string().min(1),
|
|
7
|
+
title: z.string().min(1),
|
|
8
|
+
description: z.string().min(1),
|
|
9
|
+
allowedCapabilities: z.array(CatalogCapabilitySchema).min(1),
|
|
10
|
+
defaultBudgets: ScoperBudgetsSchema.partial().optional(),
|
|
11
|
+
systemPrompt: z.string().min(1),
|
|
12
|
+
epistemicRules: z.array(z.string()).default([]),
|
|
13
|
+
tags: z.array(z.string()).default([]),
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/schemas/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,cAAc,EAAE,mBAAmB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACtC,CAAC,CAAC"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Hard budget caps applied by hosts; request budgets are clamped to these. */
|
|
3
|
+
export declare const ScoperBudgetsSchema: z.ZodObject<{
|
|
4
|
+
maxSubjects: z.ZodDefault<z.ZodNumber>;
|
|
5
|
+
maxEvidenceItems: z.ZodDefault<z.ZodNumber>;
|
|
6
|
+
maxParallelCalls: z.ZodDefault<z.ZodNumber>;
|
|
7
|
+
maxTokens: z.ZodDefault<z.ZodNumber>;
|
|
8
|
+
maxWallClockMs: z.ZodDefault<z.ZodNumber>;
|
|
9
|
+
maxEstateSessions: z.ZodDefault<z.ZodNumber>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
maxSubjects: number;
|
|
12
|
+
maxEvidenceItems: number;
|
|
13
|
+
maxParallelCalls: number;
|
|
14
|
+
maxTokens: number;
|
|
15
|
+
maxWallClockMs: number;
|
|
16
|
+
maxEstateSessions: number;
|
|
17
|
+
}, {
|
|
18
|
+
maxSubjects?: number | undefined;
|
|
19
|
+
maxEvidenceItems?: number | undefined;
|
|
20
|
+
maxParallelCalls?: number | undefined;
|
|
21
|
+
maxTokens?: number | undefined;
|
|
22
|
+
maxWallClockMs?: number | undefined;
|
|
23
|
+
maxEstateSessions?: number | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
export type ScoperBudgets = z.infer<typeof ScoperBudgetsSchema>;
|
|
26
|
+
export declare const DEFAULT_SCOPER_BUDGETS: ScoperBudgets;
|
|
27
|
+
/**
|
|
28
|
+
* Trusted execution context — set only by the host / caller infrastructure.
|
|
29
|
+
* Never accept org/credentials from ScopeRequest body.
|
|
30
|
+
*/
|
|
31
|
+
export declare const TrustedExecutionContextSchema: z.ZodObject<{
|
|
32
|
+
orgId: z.ZodString;
|
|
33
|
+
agentIds: z.ZodArray<z.ZodString, "many">;
|
|
34
|
+
caller: z.ZodString;
|
|
35
|
+
traceId: z.ZodString;
|
|
36
|
+
correlationId: z.ZodOptional<z.ZodString>;
|
|
37
|
+
identity: z.ZodOptional<z.ZodObject<{
|
|
38
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
39
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
40
|
+
}, "strip", z.ZodTypeAny, {
|
|
41
|
+
subject?: string | undefined;
|
|
42
|
+
roles?: string[] | undefined;
|
|
43
|
+
}, {
|
|
44
|
+
subject?: string | undefined;
|
|
45
|
+
roles?: string[] | undefined;
|
|
46
|
+
}>>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
orgId: string;
|
|
49
|
+
agentIds: string[];
|
|
50
|
+
caller: string;
|
|
51
|
+
traceId: string;
|
|
52
|
+
correlationId?: string | undefined;
|
|
53
|
+
identity?: {
|
|
54
|
+
subject?: string | undefined;
|
|
55
|
+
roles?: string[] | undefined;
|
|
56
|
+
} | undefined;
|
|
57
|
+
}, {
|
|
58
|
+
orgId: string;
|
|
59
|
+
agentIds: string[];
|
|
60
|
+
caller: string;
|
|
61
|
+
traceId: string;
|
|
62
|
+
correlationId?: string | undefined;
|
|
63
|
+
identity?: {
|
|
64
|
+
subject?: string | undefined;
|
|
65
|
+
roles?: string[] | undefined;
|
|
66
|
+
} | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
export type TrustedExecutionContext = z.infer<typeof TrustedExecutionContextSchema>;
|
|
69
|
+
export declare const ScopeRequestSchema: z.ZodObject<{
|
|
70
|
+
profileId: z.ZodString;
|
|
71
|
+
question: z.ZodString;
|
|
72
|
+
focus: z.ZodOptional<z.ZodObject<{
|
|
73
|
+
subjectIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
74
|
+
objectTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
75
|
+
contentTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
76
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
77
|
+
}, "strip", z.ZodTypeAny, {
|
|
78
|
+
subjectIds?: string[] | undefined;
|
|
79
|
+
objectTypes?: string[] | undefined;
|
|
80
|
+
contentTypes?: string[] | undefined;
|
|
81
|
+
tags?: string[] | undefined;
|
|
82
|
+
}, {
|
|
83
|
+
subjectIds?: string[] | undefined;
|
|
84
|
+
objectTypes?: string[] | undefined;
|
|
85
|
+
contentTypes?: string[] | undefined;
|
|
86
|
+
tags?: string[] | undefined;
|
|
87
|
+
}>>;
|
|
88
|
+
budgets: z.ZodOptional<z.ZodObject<{
|
|
89
|
+
maxSubjects: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
90
|
+
maxEvidenceItems: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
91
|
+
maxParallelCalls: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
92
|
+
maxTokens: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
93
|
+
maxWallClockMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
94
|
+
maxEstateSessions: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
95
|
+
}, "strip", z.ZodTypeAny, {
|
|
96
|
+
maxSubjects?: number | undefined;
|
|
97
|
+
maxEvidenceItems?: number | undefined;
|
|
98
|
+
maxParallelCalls?: number | undefined;
|
|
99
|
+
maxTokens?: number | undefined;
|
|
100
|
+
maxWallClockMs?: number | undefined;
|
|
101
|
+
maxEstateSessions?: number | undefined;
|
|
102
|
+
}, {
|
|
103
|
+
maxSubjects?: number | undefined;
|
|
104
|
+
maxEvidenceItems?: number | undefined;
|
|
105
|
+
maxParallelCalls?: number | undefined;
|
|
106
|
+
maxTokens?: number | undefined;
|
|
107
|
+
maxWallClockMs?: number | undefined;
|
|
108
|
+
maxEstateSessions?: number | undefined;
|
|
109
|
+
}>>;
|
|
110
|
+
options: z.ZodOptional<z.ZodObject<{
|
|
111
|
+
allowExplore: z.ZodOptional<z.ZodBoolean>;
|
|
112
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
113
|
+
includeUnknowns: z.ZodOptional<z.ZodBoolean>;
|
|
114
|
+
}, "strip", z.ZodTypeAny, {
|
|
115
|
+
allowExplore?: boolean | undefined;
|
|
116
|
+
dryRun?: boolean | undefined;
|
|
117
|
+
includeUnknowns?: boolean | undefined;
|
|
118
|
+
}, {
|
|
119
|
+
allowExplore?: boolean | undefined;
|
|
120
|
+
dryRun?: boolean | undefined;
|
|
121
|
+
includeUnknowns?: boolean | undefined;
|
|
122
|
+
}>>;
|
|
123
|
+
hints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
124
|
+
}, "strip", z.ZodTypeAny, {
|
|
125
|
+
profileId: string;
|
|
126
|
+
question: string;
|
|
127
|
+
options?: {
|
|
128
|
+
allowExplore?: boolean | undefined;
|
|
129
|
+
dryRun?: boolean | undefined;
|
|
130
|
+
includeUnknowns?: boolean | undefined;
|
|
131
|
+
} | undefined;
|
|
132
|
+
focus?: {
|
|
133
|
+
subjectIds?: string[] | undefined;
|
|
134
|
+
objectTypes?: string[] | undefined;
|
|
135
|
+
contentTypes?: string[] | undefined;
|
|
136
|
+
tags?: string[] | undefined;
|
|
137
|
+
} | undefined;
|
|
138
|
+
budgets?: {
|
|
139
|
+
maxSubjects?: number | undefined;
|
|
140
|
+
maxEvidenceItems?: number | undefined;
|
|
141
|
+
maxParallelCalls?: number | undefined;
|
|
142
|
+
maxTokens?: number | undefined;
|
|
143
|
+
maxWallClockMs?: number | undefined;
|
|
144
|
+
maxEstateSessions?: number | undefined;
|
|
145
|
+
} | undefined;
|
|
146
|
+
hints?: Record<string, unknown> | undefined;
|
|
147
|
+
}, {
|
|
148
|
+
profileId: string;
|
|
149
|
+
question: string;
|
|
150
|
+
options?: {
|
|
151
|
+
allowExplore?: boolean | undefined;
|
|
152
|
+
dryRun?: boolean | undefined;
|
|
153
|
+
includeUnknowns?: boolean | undefined;
|
|
154
|
+
} | undefined;
|
|
155
|
+
focus?: {
|
|
156
|
+
subjectIds?: string[] | undefined;
|
|
157
|
+
objectTypes?: string[] | undefined;
|
|
158
|
+
contentTypes?: string[] | undefined;
|
|
159
|
+
tags?: string[] | undefined;
|
|
160
|
+
} | undefined;
|
|
161
|
+
budgets?: {
|
|
162
|
+
maxSubjects?: number | undefined;
|
|
163
|
+
maxEvidenceItems?: number | undefined;
|
|
164
|
+
maxParallelCalls?: number | undefined;
|
|
165
|
+
maxTokens?: number | undefined;
|
|
166
|
+
maxWallClockMs?: number | undefined;
|
|
167
|
+
maxEstateSessions?: number | undefined;
|
|
168
|
+
} | undefined;
|
|
169
|
+
hints?: Record<string, unknown> | undefined;
|
|
170
|
+
}>;
|
|
171
|
+
export type ScopeRequest = z.infer<typeof ScopeRequestSchema>;
|
|
172
|
+
/**
|
|
173
|
+
* Part 1 — structured subject read.
|
|
174
|
+
* Address is Memorix product content: recordId + objectType + contentType.
|
|
175
|
+
* Entity-name lookup and neighbor expansion are not this request.
|
|
176
|
+
*/
|
|
177
|
+
export declare const SubjectDataRequestSchema: z.ZodObject<{
|
|
178
|
+
recordId: z.ZodString;
|
|
179
|
+
objectType: z.ZodString;
|
|
180
|
+
contentType: z.ZodString;
|
|
181
|
+
/** Other content types for this same recordId. */
|
|
182
|
+
alsoContentTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
183
|
+
}, "strict", z.ZodTypeAny, {
|
|
184
|
+
recordId: string;
|
|
185
|
+
objectType: string;
|
|
186
|
+
contentType: string;
|
|
187
|
+
alsoContentTypes?: string[] | undefined;
|
|
188
|
+
}, {
|
|
189
|
+
recordId: string;
|
|
190
|
+
objectType: string;
|
|
191
|
+
contentType: string;
|
|
192
|
+
alsoContentTypes?: string[] | undefined;
|
|
193
|
+
}>;
|
|
194
|
+
export type SubjectDataRequest = z.infer<typeof SubjectDataRequestSchema>;
|
|
195
|
+
export declare const SubjectDataPieceSchema: z.ZodObject<{
|
|
196
|
+
recordId: z.ZodString;
|
|
197
|
+
objectType: z.ZodString;
|
|
198
|
+
contentType: z.ZodString;
|
|
199
|
+
found: z.ZodBoolean;
|
|
200
|
+
record: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
201
|
+
}, "strip", z.ZodTypeAny, {
|
|
202
|
+
recordId: string;
|
|
203
|
+
objectType: string;
|
|
204
|
+
contentType: string;
|
|
205
|
+
found: boolean;
|
|
206
|
+
record: Record<string, unknown> | null;
|
|
207
|
+
}, {
|
|
208
|
+
recordId: string;
|
|
209
|
+
objectType: string;
|
|
210
|
+
contentType: string;
|
|
211
|
+
found: boolean;
|
|
212
|
+
record: Record<string, unknown> | null;
|
|
213
|
+
}>;
|
|
214
|
+
export declare const SubjectDataResponseSchema: z.ZodObject<{
|
|
215
|
+
anchor: z.ZodObject<{
|
|
216
|
+
recordId: z.ZodString;
|
|
217
|
+
objectType: z.ZodString;
|
|
218
|
+
contentType: z.ZodString;
|
|
219
|
+
}, "strip", z.ZodTypeAny, {
|
|
220
|
+
recordId: string;
|
|
221
|
+
objectType: string;
|
|
222
|
+
contentType: string;
|
|
223
|
+
}, {
|
|
224
|
+
recordId: string;
|
|
225
|
+
objectType: string;
|
|
226
|
+
contentType: string;
|
|
227
|
+
}>;
|
|
228
|
+
pieces: z.ZodArray<z.ZodObject<{
|
|
229
|
+
recordId: z.ZodString;
|
|
230
|
+
objectType: z.ZodString;
|
|
231
|
+
contentType: z.ZodString;
|
|
232
|
+
found: z.ZodBoolean;
|
|
233
|
+
record: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
234
|
+
}, "strip", z.ZodTypeAny, {
|
|
235
|
+
recordId: string;
|
|
236
|
+
objectType: string;
|
|
237
|
+
contentType: string;
|
|
238
|
+
found: boolean;
|
|
239
|
+
record: Record<string, unknown> | null;
|
|
240
|
+
}, {
|
|
241
|
+
recordId: string;
|
|
242
|
+
objectType: string;
|
|
243
|
+
contentType: string;
|
|
244
|
+
found: boolean;
|
|
245
|
+
record: Record<string, unknown> | null;
|
|
246
|
+
}>, "many">;
|
|
247
|
+
/** Ids already stored inside a decoded nexum snapshot. Not fetched neighbors. */
|
|
248
|
+
observedLinks: z.ZodOptional<z.ZodObject<{
|
|
249
|
+
sourceRefs: z.ZodArray<z.ZodString, "many">;
|
|
250
|
+
nodeIds: z.ZodArray<z.ZodString, "many">;
|
|
251
|
+
}, "strip", z.ZodTypeAny, {
|
|
252
|
+
sourceRefs: string[];
|
|
253
|
+
nodeIds: string[];
|
|
254
|
+
}, {
|
|
255
|
+
sourceRefs: string[];
|
|
256
|
+
nodeIds: string[];
|
|
257
|
+
}>>;
|
|
258
|
+
}, "strip", z.ZodTypeAny, {
|
|
259
|
+
anchor: {
|
|
260
|
+
recordId: string;
|
|
261
|
+
objectType: string;
|
|
262
|
+
contentType: string;
|
|
263
|
+
};
|
|
264
|
+
pieces: {
|
|
265
|
+
recordId: string;
|
|
266
|
+
objectType: string;
|
|
267
|
+
contentType: string;
|
|
268
|
+
found: boolean;
|
|
269
|
+
record: Record<string, unknown> | null;
|
|
270
|
+
}[];
|
|
271
|
+
observedLinks?: {
|
|
272
|
+
sourceRefs: string[];
|
|
273
|
+
nodeIds: string[];
|
|
274
|
+
} | undefined;
|
|
275
|
+
}, {
|
|
276
|
+
anchor: {
|
|
277
|
+
recordId: string;
|
|
278
|
+
objectType: string;
|
|
279
|
+
contentType: string;
|
|
280
|
+
};
|
|
281
|
+
pieces: {
|
|
282
|
+
recordId: string;
|
|
283
|
+
objectType: string;
|
|
284
|
+
contentType: string;
|
|
285
|
+
found: boolean;
|
|
286
|
+
record: Record<string, unknown> | null;
|
|
287
|
+
}[];
|
|
288
|
+
observedLinks?: {
|
|
289
|
+
sourceRefs: string[];
|
|
290
|
+
nodeIds: string[];
|
|
291
|
+
} | undefined;
|
|
292
|
+
}>;
|
|
293
|
+
export type SubjectDataPiece = z.infer<typeof SubjectDataPieceSchema>;
|
|
294
|
+
export type SubjectDataResponse = z.infer<typeof SubjectDataResponseSchema>;
|
|
295
|
+
export declare function clampBudgets(requested: Partial<ScoperBudgets> | undefined, hostCaps?: ScoperBudgets): ScoperBudgets;
|
|
296
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/schemas/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,sBAAsB,EAAE,aAA6C,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;IAKjC,kDAAkD;;;;;;;;;;;;EAG3C,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOpC,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOjF,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,wBAAgB,YAAY,CAC1B,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,EAC7C,QAAQ,GAAE,aAAsC,GAC/C,aAAa,CAUf"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Hard budget caps applied by hosts; request budgets are clamped to these. */
|
|
3
|
+
export const ScoperBudgetsSchema = z.object({
|
|
4
|
+
maxSubjects: z.number().int().positive().max(10_000).default(100),
|
|
5
|
+
maxEvidenceItems: z.number().int().positive().max(10_000).default(200),
|
|
6
|
+
maxParallelCalls: z.number().int().positive().max(64).default(8),
|
|
7
|
+
maxTokens: z.number().int().positive().max(2_000_000).default(32_000),
|
|
8
|
+
maxWallClockMs: z.number().int().positive().max(600_000).default(60_000),
|
|
9
|
+
maxEstateSessions: z.number().int().nonnegative().max(32).default(2),
|
|
10
|
+
});
|
|
11
|
+
export const DEFAULT_SCOPER_BUDGETS = ScoperBudgetsSchema.parse({});
|
|
12
|
+
/**
|
|
13
|
+
* Trusted execution context — set only by the host / caller infrastructure.
|
|
14
|
+
* Never accept org/credentials from ScopeRequest body.
|
|
15
|
+
*/
|
|
16
|
+
export const TrustedExecutionContextSchema = z.object({
|
|
17
|
+
orgId: z.string().min(1),
|
|
18
|
+
agentIds: z.array(z.string().min(1)).min(1),
|
|
19
|
+
caller: z.string().min(1),
|
|
20
|
+
traceId: z.string().min(1),
|
|
21
|
+
correlationId: z.string().min(1).optional(),
|
|
22
|
+
identity: z
|
|
23
|
+
.object({
|
|
24
|
+
subject: z.string().optional(),
|
|
25
|
+
roles: z.array(z.string()).optional(),
|
|
26
|
+
})
|
|
27
|
+
.optional(),
|
|
28
|
+
});
|
|
29
|
+
export const ScopeRequestSchema = z.object({
|
|
30
|
+
profileId: z.string().min(1),
|
|
31
|
+
question: z.string().min(1).max(16_000),
|
|
32
|
+
focus: z
|
|
33
|
+
.object({
|
|
34
|
+
subjectIds: z.array(z.string()).optional(),
|
|
35
|
+
objectTypes: z.array(z.string()).optional(),
|
|
36
|
+
contentTypes: z.array(z.string()).optional(),
|
|
37
|
+
tags: z.array(z.string()).optional(),
|
|
38
|
+
})
|
|
39
|
+
.optional(),
|
|
40
|
+
budgets: ScoperBudgetsSchema.partial().optional(),
|
|
41
|
+
options: z
|
|
42
|
+
.object({
|
|
43
|
+
allowExplore: z.boolean().optional(),
|
|
44
|
+
dryRun: z.boolean().optional(),
|
|
45
|
+
includeUnknowns: z.boolean().optional(),
|
|
46
|
+
})
|
|
47
|
+
.optional(),
|
|
48
|
+
hints: z.record(z.unknown()).optional(),
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Part 1 — structured subject read.
|
|
52
|
+
* Address is Memorix product content: recordId + objectType + contentType.
|
|
53
|
+
* Entity-name lookup and neighbor expansion are not this request.
|
|
54
|
+
*/
|
|
55
|
+
export const SubjectDataRequestSchema = z
|
|
56
|
+
.object({
|
|
57
|
+
recordId: z.string().min(1),
|
|
58
|
+
objectType: z.string().min(1),
|
|
59
|
+
contentType: z.string().min(1),
|
|
60
|
+
/** Other content types for this same recordId. */
|
|
61
|
+
alsoContentTypes: z.array(z.string().min(1)).max(16).optional(),
|
|
62
|
+
})
|
|
63
|
+
.strict();
|
|
64
|
+
export const SubjectDataPieceSchema = z.object({
|
|
65
|
+
recordId: z.string().min(1),
|
|
66
|
+
objectType: z.string().min(1),
|
|
67
|
+
contentType: z.string().min(1),
|
|
68
|
+
found: z.boolean(),
|
|
69
|
+
record: z.record(z.unknown()).nullable(),
|
|
70
|
+
});
|
|
71
|
+
export const SubjectDataResponseSchema = z.object({
|
|
72
|
+
anchor: z.object({
|
|
73
|
+
recordId: z.string().min(1),
|
|
74
|
+
objectType: z.string().min(1),
|
|
75
|
+
contentType: z.string().min(1),
|
|
76
|
+
}),
|
|
77
|
+
pieces: z.array(SubjectDataPieceSchema).min(1),
|
|
78
|
+
/** Ids already stored inside a decoded nexum snapshot. Not fetched neighbors. */
|
|
79
|
+
observedLinks: z
|
|
80
|
+
.object({
|
|
81
|
+
sourceRefs: z.array(z.string()),
|
|
82
|
+
nodeIds: z.array(z.string()),
|
|
83
|
+
})
|
|
84
|
+
.optional(),
|
|
85
|
+
});
|
|
86
|
+
export function clampBudgets(requested, hostCaps = DEFAULT_SCOPER_BUDGETS) {
|
|
87
|
+
const base = { ...hostCaps };
|
|
88
|
+
if (!requested)
|
|
89
|
+
return base;
|
|
90
|
+
for (const key of Object.keys(hostCaps)) {
|
|
91
|
+
const v = requested[key];
|
|
92
|
+
if (typeof v === "number" && Number.isFinite(v) && v > 0) {
|
|
93
|
+
base[key] = Math.min(v, hostCaps[key]);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return ScoperBudgetsSchema.parse(base);
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/schemas/request.ts"],"names":[],"mappings":"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"}
|