@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 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.js
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { EvidenceItemSchema } from "./evidence.js";
|
|
3
|
+
const idSchema = z.string().min(1).max(256);
|
|
4
|
+
const objectiveSchema = z.string().min(1).max(4000);
|
|
5
|
+
export const ScoperBudgetsSchema = z.object({
|
|
6
|
+
maxWallTimeMs: z.number().int().positive(),
|
|
7
|
+
maxSdkCalls: z.number().int().positive(),
|
|
8
|
+
maxPages: z.number().int().positive(),
|
|
9
|
+
maxRecords: z.number().int().positive(),
|
|
10
|
+
maxBytes: z.number().int().positive(),
|
|
11
|
+
maxEvidenceItems: z.number().int().positive(),
|
|
12
|
+
maxRelationshipDepth: z.number().int().nonnegative(),
|
|
13
|
+
maxReasoningRounds: z.number().int().positive(),
|
|
14
|
+
maxParallelCalls: z.number().int().positive(),
|
|
15
|
+
});
|
|
16
|
+
export const ScopeRequestSchema = z
|
|
17
|
+
.object({
|
|
18
|
+
objective: objectiveSchema,
|
|
19
|
+
seeds: z
|
|
20
|
+
.array(z.object({ kind: z.string().min(1).max(128), id: idSchema }))
|
|
21
|
+
.max(50)
|
|
22
|
+
.optional(),
|
|
23
|
+
domains: z.array(z.string().min(1).max(128)).max(20).optional(),
|
|
24
|
+
timeRange: z
|
|
25
|
+
.object({
|
|
26
|
+
from: z.string().datetime(),
|
|
27
|
+
to: z.string().datetime(),
|
|
28
|
+
})
|
|
29
|
+
.optional(),
|
|
30
|
+
freshness: z
|
|
31
|
+
.object({
|
|
32
|
+
includeStable: z.boolean().optional(),
|
|
33
|
+
includeLive: z.boolean().optional(),
|
|
34
|
+
})
|
|
35
|
+
.optional(),
|
|
36
|
+
requestedLimits: z
|
|
37
|
+
.object({
|
|
38
|
+
maxEvidenceItems: z.number().int().positive().max(10_000).optional(),
|
|
39
|
+
maxRelationshipDepth: z.number().int().nonnegative().max(32).optional(),
|
|
40
|
+
deadlineMs: z.number().int().positive().max(600_000).optional(),
|
|
41
|
+
})
|
|
42
|
+
.optional(),
|
|
43
|
+
responseMode: z.literal("evidence-bundle").optional(),
|
|
44
|
+
})
|
|
45
|
+
.superRefine((val, ctx) => {
|
|
46
|
+
if (val.timeRange && Date.parse(val.timeRange.from) > Date.parse(val.timeRange.to)) {
|
|
47
|
+
ctx.addIssue({
|
|
48
|
+
code: z.ZodIssueCode.custom,
|
|
49
|
+
message: "timeRange.from must be <= timeRange.to",
|
|
50
|
+
path: ["timeRange"],
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const forbidden = [
|
|
54
|
+
"orgId",
|
|
55
|
+
"agentIds",
|
|
56
|
+
"callerId",
|
|
57
|
+
"credentials",
|
|
58
|
+
"token",
|
|
59
|
+
"host",
|
|
60
|
+
"port",
|
|
61
|
+
"url",
|
|
62
|
+
"databaseName",
|
|
63
|
+
"generationPin",
|
|
64
|
+
];
|
|
65
|
+
for (const key of forbidden) {
|
|
66
|
+
if (Object.prototype.hasOwnProperty.call(val, key)) {
|
|
67
|
+
ctx.addIssue({
|
|
68
|
+
code: z.ZodIssueCode.custom,
|
|
69
|
+
message: `ScopeRequest must not contain ${key}`,
|
|
70
|
+
path: [key],
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
export const TrustedExecutionContextSchema = z.object({
|
|
76
|
+
orgId: z.string().min(1),
|
|
77
|
+
agentIds: z.array(z.string().min(1)).min(1),
|
|
78
|
+
callerId: z.string().min(1),
|
|
79
|
+
principalId: z.string().optional(),
|
|
80
|
+
permissions: z.array(z.string()),
|
|
81
|
+
classificationCeiling: z.string().min(1),
|
|
82
|
+
traceId: z.string().min(1),
|
|
83
|
+
deadlineAt: z.string().datetime(),
|
|
84
|
+
budgets: ScoperBudgetsSchema,
|
|
85
|
+
flags: z.object({
|
|
86
|
+
bagsOnly: z.boolean(),
|
|
87
|
+
nexumExploreEnabled: z.boolean(),
|
|
88
|
+
}),
|
|
89
|
+
});
|
|
90
|
+
export const ConflictItemSchema = z.object({
|
|
91
|
+
description: z.string(),
|
|
92
|
+
evidenceIds: z.array(z.string()),
|
|
93
|
+
resolution: z.enum(["unresolved", "source-precedence", "different-context"]),
|
|
94
|
+
});
|
|
95
|
+
export const UnknownItemSchema = z.object({
|
|
96
|
+
question: z.string(),
|
|
97
|
+
reason: z.string(),
|
|
98
|
+
missingDatasets: z.array(z.string()).optional(),
|
|
99
|
+
});
|
|
100
|
+
export const WarningItemSchema = z.object({
|
|
101
|
+
code: z.string(),
|
|
102
|
+
message: z.string(),
|
|
103
|
+
});
|
|
104
|
+
export const ContinuationSchema = z.object({
|
|
105
|
+
kind: z.enum(["cursor", "refinement-required", "budget-exhausted"]),
|
|
106
|
+
token: z.string().optional(),
|
|
107
|
+
suggestion: z.string().optional(),
|
|
108
|
+
});
|
|
109
|
+
export const EvidenceBundleSchema = z.object({
|
|
110
|
+
requestId: z.string(),
|
|
111
|
+
status: z.enum(["complete", "partial", "unavailable", "rejected"]),
|
|
112
|
+
interpretation: z.object({
|
|
113
|
+
objective: z.string(),
|
|
114
|
+
assumptions: z.array(z.string()),
|
|
115
|
+
}),
|
|
116
|
+
execution: z.object({
|
|
117
|
+
catalogVersion: z.string(),
|
|
118
|
+
profiles: z.array(z.object({ id: z.string(), version: z.string() })),
|
|
119
|
+
surfaces: z.array(z.enum(["estate-bag", "subject", "knowledge-explore"])),
|
|
120
|
+
}),
|
|
121
|
+
evidence: z.array(EvidenceItemSchema),
|
|
122
|
+
coverage: z.object({
|
|
123
|
+
complete: z.boolean(),
|
|
124
|
+
datasetsRead: z.array(z.string()),
|
|
125
|
+
datasetsSkipped: z.array(z.object({ id: z.string(), reason: z.string() })),
|
|
126
|
+
countChecks: z.array(z.object({
|
|
127
|
+
dataset: z.string(),
|
|
128
|
+
expected: z.number().optional(),
|
|
129
|
+
actual: z.number(),
|
|
130
|
+
matched: z.boolean(),
|
|
131
|
+
})),
|
|
132
|
+
}),
|
|
133
|
+
conflicts: z.array(ConflictItemSchema),
|
|
134
|
+
unknowns: z.array(UnknownItemSchema),
|
|
135
|
+
warnings: z.array(WarningItemSchema),
|
|
136
|
+
continuation: ContinuationSchema.nullable().optional(),
|
|
137
|
+
traceId: z.string(),
|
|
138
|
+
});
|
|
139
|
+
export const RetrievalStepSchema = z.object({
|
|
140
|
+
stepId: z.string().min(1),
|
|
141
|
+
operationId: z.string().min(1),
|
|
142
|
+
arguments: z.record(z.unknown()),
|
|
143
|
+
dependsOn: z.array(z.string()),
|
|
144
|
+
purpose: z.string(),
|
|
145
|
+
optional: z.boolean(),
|
|
146
|
+
});
|
|
147
|
+
export const RetrievalPlanSchema = z.object({
|
|
148
|
+
planId: z.string().min(1),
|
|
149
|
+
objective: z.string().min(1),
|
|
150
|
+
profiles: z.array(z.string()),
|
|
151
|
+
steps: z.array(RetrievalStepSchema),
|
|
152
|
+
});
|
|
153
|
+
export const EvidenceSelectionSchema = z.object({
|
|
154
|
+
selectedEvidenceIds: z.array(z.string()),
|
|
155
|
+
conflicts: z.array(ConflictItemSchema).optional(),
|
|
156
|
+
unknowns: z.array(UnknownItemSchema).optional(),
|
|
157
|
+
notes: z.array(z.string()).optional(),
|
|
158
|
+
});
|
|
159
|
+
export const IdentifierDescriptorSchema = z.object({
|
|
160
|
+
name: z.string(),
|
|
161
|
+
kind: z.string(),
|
|
162
|
+
required: z.boolean().optional(),
|
|
163
|
+
});
|
|
164
|
+
export const RelationshipDescriptorSchema = z.object({
|
|
165
|
+
name: z.string(),
|
|
166
|
+
target: z.string(),
|
|
167
|
+
cardinality: z.string(),
|
|
168
|
+
strength: z.enum(["identity", "authoritative-relation", "weak-correlation"]),
|
|
169
|
+
});
|
|
170
|
+
export const CatalogEntrySchema = z.object({
|
|
171
|
+
id: z.string(),
|
|
172
|
+
version: z.string(),
|
|
173
|
+
description: z.string(),
|
|
174
|
+
surface: z.enum(["estate-bag", "subject", "knowledge-explore"]),
|
|
175
|
+
operation: z.string(),
|
|
176
|
+
physicalContractVersion: z.string(),
|
|
177
|
+
identifiers: z.array(IdentifierDescriptorSchema),
|
|
178
|
+
relationships: z.array(RelationshipDescriptorSchema),
|
|
179
|
+
clock: z.enum(["stable", "live"]).optional(),
|
|
180
|
+
epistemicPlanes: z.array(z.string()),
|
|
181
|
+
limits: z.record(z.union([z.number(), z.string(), z.boolean()])),
|
|
182
|
+
classification: z.string(),
|
|
183
|
+
requiredPermissions: z.array(z.string()),
|
|
184
|
+
mayBeMissing: z.boolean(),
|
|
185
|
+
limitations: z.array(z.string()),
|
|
186
|
+
prohibitedInferences: z.array(z.string()),
|
|
187
|
+
owner: z.string(),
|
|
188
|
+
});
|
|
189
|
+
export const ScoperProfileSchema = z.object({
|
|
190
|
+
id: z.string(),
|
|
191
|
+
version: z.string(),
|
|
192
|
+
description: z.string(),
|
|
193
|
+
domains: z.array(z.string()),
|
|
194
|
+
requiredCatalogEntries: z.array(z.string()),
|
|
195
|
+
retrievalGuidance: z.array(z.string()),
|
|
196
|
+
prohibitedInferences: z.array(z.string()),
|
|
197
|
+
defaultBudgets: ScoperBudgetsSchema.partial(),
|
|
198
|
+
});
|
|
199
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.test.d.ts","sourceRoot":"","sources":["../src/schemas.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { ScopeRequestSchema } from "./schemas.js";
|
|
3
|
+
import { EvidenceRefSchema, SubjectEvidenceRefSchema } from "./evidence.js";
|
|
4
|
+
describe("ScopeRequestSchema", () => {
|
|
5
|
+
it("accepts a minimal valid request", () => {
|
|
6
|
+
const parsed = ScopeRequestSchema.parse({ objective: "Find host inventory for seed asset" });
|
|
7
|
+
expect(parsed.objective).toContain("inventory");
|
|
8
|
+
});
|
|
9
|
+
it("rejects inverted time ranges", () => {
|
|
10
|
+
expect(() => ScopeRequestSchema.parse({
|
|
11
|
+
objective: "x",
|
|
12
|
+
timeRange: { from: "2024-02-01T00:00:00.000Z", to: "2024-01-01T00:00:00.000Z" },
|
|
13
|
+
})).toThrow();
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe("EvidenceRefSchema", () => {
|
|
17
|
+
it("requires subject refs", () => {
|
|
18
|
+
const ref = SubjectEvidenceRefSchema.parse({
|
|
19
|
+
surface: "subject",
|
|
20
|
+
objectType: "host",
|
|
21
|
+
contentType: "inventory",
|
|
22
|
+
recordId: "h-1",
|
|
23
|
+
revision: "1",
|
|
24
|
+
field: "hostname",
|
|
25
|
+
});
|
|
26
|
+
expect(EvidenceRefSchema.parse(ref).surface).toBe("subject");
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=schemas.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.test.js","sourceRoot":"","sources":["../src/schemas.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE5E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,oCAAoC,EAAE,CAAC,CAAC;QAC7F,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,EAAE,CACV,kBAAkB,CAAC,KAAK,CAAC;YACvB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,0BAA0B,EAAE;SAChF,CAAC,CACH,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,GAAG,GAAG,wBAAwB,CAAC,KAAK,CAAC;YACzC,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@x12i/memorix-scoper-contracts",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Zod schemas and types for Memorix Scoper",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./schemas": {
|
|
14
|
+
"types": "./dist/schemas/index.d.ts",
|
|
15
|
+
"import": "./dist/schemas/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./errors": {
|
|
18
|
+
"types": "./dist/errors.d.ts",
|
|
19
|
+
"import": "./dist/errors.js"
|
|
20
|
+
},
|
|
21
|
+
"./evidence": {
|
|
22
|
+
"types": "./dist/evidence.d.ts",
|
|
23
|
+
"import": "./dist/evidence.js"
|
|
24
|
+
},
|
|
25
|
+
"./json-schema/*": "./schemas/*"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist",
|
|
29
|
+
"schemas",
|
|
30
|
+
"README.md"
|
|
31
|
+
],
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "restricted",
|
|
34
|
+
"registry": "https://registry.npmjs.org/",
|
|
35
|
+
"tag": "dev"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "tsc -p tsconfig.json",
|
|
39
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
40
|
+
"test": "vitest run"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"zod": "^3.25.67"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"typescript": "^5.8.3",
|
|
47
|
+
"vitest": "^3.2.4"
|
|
48
|
+
},
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=22"
|
|
51
|
+
},
|
|
52
|
+
"license": "MIT"
|
|
53
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "CatalogEntry",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"id": { "type": "string" },
|
|
7
|
+
"capability": { "type": "string" },
|
|
8
|
+
"objectType": { "type": "string" },
|
|
9
|
+
"contentType": { "type": "string" },
|
|
10
|
+
"description": { "type": "string" },
|
|
11
|
+
"version": { "type": "string" },
|
|
12
|
+
"enabled": { "type": "boolean" },
|
|
13
|
+
"requiresFeature": { "type": "string" },
|
|
14
|
+
"epistemicDefault": { "type": "string" }
|
|
15
|
+
},
|
|
16
|
+
"required": ["id", "capability", "description", "version"]
|
|
17
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/CatalogEntry",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"CatalogEntry": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"id": {
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"version": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"description": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"surface": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": [
|
|
19
|
+
"estate-bag",
|
|
20
|
+
"subject",
|
|
21
|
+
"knowledge-explore"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"operation": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"physicalContractVersion": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
},
|
|
30
|
+
"identifiers": {
|
|
31
|
+
"type": "array",
|
|
32
|
+
"items": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"properties": {
|
|
35
|
+
"name": {
|
|
36
|
+
"type": "string"
|
|
37
|
+
},
|
|
38
|
+
"kind": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
},
|
|
41
|
+
"required": {
|
|
42
|
+
"type": "boolean"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"required": [
|
|
46
|
+
"name",
|
|
47
|
+
"kind"
|
|
48
|
+
],
|
|
49
|
+
"additionalProperties": false
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"relationships": {
|
|
53
|
+
"type": "array",
|
|
54
|
+
"items": {
|
|
55
|
+
"type": "object",
|
|
56
|
+
"properties": {
|
|
57
|
+
"name": {
|
|
58
|
+
"type": "string"
|
|
59
|
+
},
|
|
60
|
+
"target": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
"cardinality": {
|
|
64
|
+
"type": "string"
|
|
65
|
+
},
|
|
66
|
+
"strength": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"enum": [
|
|
69
|
+
"identity",
|
|
70
|
+
"authoritative-relation",
|
|
71
|
+
"weak-correlation"
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"required": [
|
|
76
|
+
"name",
|
|
77
|
+
"target",
|
|
78
|
+
"cardinality",
|
|
79
|
+
"strength"
|
|
80
|
+
],
|
|
81
|
+
"additionalProperties": false
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"clock": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"enum": [
|
|
87
|
+
"stable",
|
|
88
|
+
"live"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"epistemicPlanes": {
|
|
92
|
+
"type": "array",
|
|
93
|
+
"items": {
|
|
94
|
+
"type": "string"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"limits": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"additionalProperties": {
|
|
100
|
+
"type": [
|
|
101
|
+
"number",
|
|
102
|
+
"string",
|
|
103
|
+
"boolean"
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"classification": {
|
|
108
|
+
"type": "string"
|
|
109
|
+
},
|
|
110
|
+
"requiredPermissions": {
|
|
111
|
+
"type": "array",
|
|
112
|
+
"items": {
|
|
113
|
+
"type": "string"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"mayBeMissing": {
|
|
117
|
+
"type": "boolean"
|
|
118
|
+
},
|
|
119
|
+
"limitations": {
|
|
120
|
+
"type": "array",
|
|
121
|
+
"items": {
|
|
122
|
+
"type": "string"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"prohibitedInferences": {
|
|
126
|
+
"type": "array",
|
|
127
|
+
"items": {
|
|
128
|
+
"type": "string"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"owner": {
|
|
132
|
+
"type": "string"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"required": [
|
|
136
|
+
"id",
|
|
137
|
+
"version",
|
|
138
|
+
"description",
|
|
139
|
+
"surface",
|
|
140
|
+
"operation",
|
|
141
|
+
"physicalContractVersion",
|
|
142
|
+
"identifiers",
|
|
143
|
+
"relationships",
|
|
144
|
+
"epistemicPlanes",
|
|
145
|
+
"limits",
|
|
146
|
+
"classification",
|
|
147
|
+
"requiredPermissions",
|
|
148
|
+
"mayBeMissing",
|
|
149
|
+
"limitations",
|
|
150
|
+
"prohibitedInferences",
|
|
151
|
+
"owner"
|
|
152
|
+
],
|
|
153
|
+
"additionalProperties": false
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
157
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "EvidenceBundle",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"items": { "type": "array" },
|
|
7
|
+
"conflicts": { "type": "array" },
|
|
8
|
+
"unknowns": { "type": "array" },
|
|
9
|
+
"warnings": { "type": "array" },
|
|
10
|
+
"continuations": { "type": "array" },
|
|
11
|
+
"answer": { "type": "string" },
|
|
12
|
+
"budgetsUsed": { "type": "object" }
|
|
13
|
+
},
|
|
14
|
+
"required": ["items"]
|
|
15
|
+
}
|