@lore-co/core 0.1.17 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/auth-schemas.d.ts +92 -4
  2. package/dist/auth-schemas.d.ts.map +1 -1
  3. package/dist/auth-schemas.js +77 -0
  4. package/dist/auth-schemas.js.map +1 -1
  5. package/dist/canonical-json.d.ts +19 -0
  6. package/dist/canonical-json.d.ts.map +1 -0
  7. package/dist/canonical-json.js +228 -0
  8. package/dist/canonical-json.js.map +1 -0
  9. package/dist/conflict-detector.d.ts.map +1 -1
  10. package/dist/conflict-detector.js +30 -14
  11. package/dist/conflict-detector.js.map +1 -1
  12. package/dist/engine.d.ts +38 -6
  13. package/dist/engine.d.ts.map +1 -1
  14. package/dist/engine.js +118 -25
  15. package/dist/engine.js.map +1 -1
  16. package/dist/guard-schemas.d.ts +217 -1
  17. package/dist/guard-schemas.d.ts.map +1 -1
  18. package/dist/guard-schemas.js +92 -11
  19. package/dist/guard-schemas.js.map +1 -1
  20. package/dist/index.d.ts +5 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +5 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/integration-contract.d.ts +612 -0
  25. package/dist/integration-contract.d.ts.map +1 -0
  26. package/dist/integration-contract.js +679 -0
  27. package/dist/integration-contract.js.map +1 -0
  28. package/dist/native-coding-agents.d.ts +1 -1
  29. package/dist/native-coding-agents.d.ts.map +1 -1
  30. package/dist/native-coding-agents.js +2 -0
  31. package/dist/native-coding-agents.js.map +1 -1
  32. package/dist/operational-metrics.d.ts +165 -0
  33. package/dist/operational-metrics.d.ts.map +1 -0
  34. package/dist/operational-metrics.js +216 -0
  35. package/dist/operational-metrics.js.map +1 -0
  36. package/dist/pilot-schemas.d.ts +80 -0
  37. package/dist/pilot-schemas.d.ts.map +1 -1
  38. package/dist/platform-admin-schemas.d.ts +171 -8
  39. package/dist/platform-admin-schemas.d.ts.map +1 -1
  40. package/dist/platform-admin-schemas.js +89 -1
  41. package/dist/platform-admin-schemas.js.map +1 -1
  42. package/dist/ports.d.ts +85 -8
  43. package/dist/ports.d.ts.map +1 -1
  44. package/dist/ports.js +231 -1
  45. package/dist/ports.js.map +1 -1
  46. package/dist/reliability-schemas.d.ts +723 -0
  47. package/dist/reliability-schemas.d.ts.map +1 -0
  48. package/dist/reliability-schemas.js +750 -0
  49. package/dist/reliability-schemas.js.map +1 -0
  50. package/dist/schemas.d.ts +205 -0
  51. package/dist/schemas.d.ts.map +1 -1
  52. package/dist/schemas.js +166 -1
  53. package/dist/schemas.js.map +1 -1
  54. package/dist/session-schemas.d.ts +80 -0
  55. package/dist/session-schemas.d.ts.map +1 -1
  56. package/dist/snapshot-schemas.d.ts +3503 -0
  57. package/dist/snapshot-schemas.d.ts.map +1 -0
  58. package/dist/snapshot-schemas.js +507 -0
  59. package/dist/snapshot-schemas.js.map +1 -0
  60. package/package.json +21 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-schemas.d.ts","sourceRoot":"","sources":["../src/snapshot-schemas.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBACd,CAAC;AACxC,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBACd,CAAC;AACpC,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBACd,CAAC"}
@@ -0,0 +1,507 @@
1
+ import { z } from "zod";
2
+ import { MAX_COMPACT_JWS_BYTES, createCanonicalJsonSha256, } from "./canonical-json.js";
3
+ import { GuardCheckResponseSchema, GuardModeSchema, GuardRepoOverrideSchema, WorkspaceGuardPolicySchema, } from "./guard-schemas.js";
4
+ import { ContextDeliveryRequestSchema, ContextDeliveryResponseSchema, ObservationResponseSchema, PairedTurnResponseSchema, } from "./pilot-schemas.js";
5
+ import { CaptureReliabilityResultSchema, GuardReliabilityResultSchema, ReliabilityContractVersionSchema, ReliabilityMetadataSchema, } from "./reliability-schemas.js";
6
+ import { ContextPackingSchema, MemoryCategorySchema, MemoryScopeSchema, MemorySourceSchema, RetrievalHitSchema, } from "./schemas.js";
7
+ export const CONTEXT_SNAPSHOT_VERSION = "context-snapshot-v1";
8
+ export const GUARD_POLICY_SNAPSHOT_VERSION = "guard-policy-snapshot-v1";
9
+ const Base64UrlSchema = z.string().regex(/^[A-Za-z0-9_-]+$/u);
10
+ const SnapshotKidSchema = z
11
+ .string()
12
+ .min(1)
13
+ .max(200)
14
+ .regex(/^[A-Za-z0-9._:-]+$/u);
15
+ const SnapshotPolicyVersionSchema = z.string().trim().min(1).max(200);
16
+ const RequestIdSchema = z.string().trim().min(1).max(128);
17
+ const Sha256HexSchema = z.string().regex(/^[a-f0-9]{64}$/u);
18
+ const SnapshotTimestampSchema = z.iso.datetime({ offset: true });
19
+ export const CompactEd25519JwsSchema = z
20
+ .string()
21
+ .min(90)
22
+ .max(MAX_COMPACT_JWS_BYTES)
23
+ .regex(/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]{86}$/u, "Expected a compact JWS with an Ed25519 signature");
24
+ export const SnapshotJwsTypeSchema = z.enum([
25
+ "lore-context-snapshot+jws",
26
+ "lore-guard-policy-snapshot+jws",
27
+ ]);
28
+ export const SnapshotJwsProtectedHeaderSchema = z
29
+ .object({
30
+ alg: z.literal("EdDSA"),
31
+ kid: SnapshotKidSchema,
32
+ typ: SnapshotJwsTypeSchema,
33
+ })
34
+ .strict();
35
+ export const Ed25519PublicJwkSchema = z
36
+ .object({
37
+ kid: SnapshotKidSchema,
38
+ kty: z.literal("OKP"),
39
+ crv: z.literal("Ed25519"),
40
+ alg: z.literal("EdDSA"),
41
+ use: z.literal("sig"),
42
+ x: Base64UrlSchema.length(43),
43
+ })
44
+ .strict();
45
+ export const SnapshotPublicKeySchema = Ed25519PublicJwkSchema.extend({
46
+ notBefore: SnapshotTimestampSchema,
47
+ retiredAt: SnapshotTimestampSchema.nullable(),
48
+ })
49
+ .strict()
50
+ .superRefine((key, context) => {
51
+ if (key.retiredAt !== null &&
52
+ Date.parse(key.retiredAt) <= Date.parse(key.notBefore)) {
53
+ context.addIssue({
54
+ code: "custom",
55
+ path: ["retiredAt"],
56
+ message: "A signing key must be retired after it becomes valid",
57
+ });
58
+ }
59
+ });
60
+ export const SnapshotPublicKeySetSchema = z
61
+ .object({
62
+ contractVersion: ReliabilityContractVersionSchema,
63
+ workspaceId: z.uuid(),
64
+ algorithm: z.literal("Ed25519"),
65
+ currentKid: SnapshotKidSchema,
66
+ keys: z.array(SnapshotPublicKeySchema).min(1).max(32),
67
+ })
68
+ .strict()
69
+ .superRefine((keySet, context) => {
70
+ const kids = new Set();
71
+ let activeKeys = 0;
72
+ for (const [index, key] of keySet.keys.entries()) {
73
+ if (kids.has(key.kid)) {
74
+ context.addIssue({
75
+ code: "custom",
76
+ path: ["keys", index, "kid"],
77
+ message: "Signing key IDs must be unique",
78
+ });
79
+ }
80
+ kids.add(key.kid);
81
+ if (key.retiredAt === null) {
82
+ activeKeys += 1;
83
+ }
84
+ }
85
+ const current = keySet.keys.find((key) => key.kid === keySet.currentKid);
86
+ if (current === undefined || current.retiredAt !== null) {
87
+ context.addIssue({
88
+ code: "custom",
89
+ path: ["currentKid"],
90
+ message: "currentKid must identify the one active signing key",
91
+ });
92
+ }
93
+ if (activeKeys !== 1) {
94
+ context.addIssue({
95
+ code: "custom",
96
+ path: ["keys"],
97
+ message: "A keyset must contain exactly one active signing key",
98
+ });
99
+ }
100
+ });
101
+ const SnapshotTemporalFields = {
102
+ issuedAt: SnapshotTimestampSchema,
103
+ asOf: SnapshotTimestampSchema,
104
+ validUntil: SnapshotTimestampSchema,
105
+ };
106
+ function addSnapshotTemporalIssues(snapshot, context, requireValidAtIssue) {
107
+ if (Date.parse(snapshot.asOf) > Date.parse(snapshot.issuedAt)) {
108
+ context.addIssue({
109
+ code: "custom",
110
+ path: ["asOf"],
111
+ message: "Snapshot source time cannot be after issuance",
112
+ });
113
+ }
114
+ if (Date.parse(snapshot.validUntil) <= Date.parse(snapshot.asOf)) {
115
+ context.addIssue({
116
+ code: "custom",
117
+ path: ["validUntil"],
118
+ message: "Snapshot validity must end after its source time",
119
+ });
120
+ }
121
+ if (requireValidAtIssue &&
122
+ Date.parse(snapshot.validUntil) <= Date.parse(snapshot.issuedAt)) {
123
+ context.addIssue({
124
+ code: "custom",
125
+ path: ["validUntil"],
126
+ message: "A Guard policy snapshot must be valid when issued",
127
+ });
128
+ }
129
+ }
130
+ export const SignedContextPayloadSchema = z
131
+ .object({
132
+ snapshotVersion: z.literal(CONTEXT_SNAPSHOT_VERSION),
133
+ contractVersion: ReliabilityContractVersionSchema,
134
+ workspaceId: z.uuid(),
135
+ kind: z.literal("context"),
136
+ ...SnapshotTemporalFields,
137
+ policyVersion: SnapshotPolicyVersionSchema,
138
+ requestId: RequestIdSchema,
139
+ requestHash: Sha256HexSchema,
140
+ request: ContextDeliveryRequestSchema,
141
+ eventId: z.uuid(),
142
+ receiptId: z.uuid(),
143
+ deliveredAt: SnapshotTimestampSchema,
144
+ context: z.string(),
145
+ memories: ContextDeliveryResponseSchema.shape.memories,
146
+ hits: z.array(RetrievalHitSchema),
147
+ packing: ContextPackingSchema,
148
+ })
149
+ .strict()
150
+ .superRefine((snapshot, context) => {
151
+ addSnapshotTemporalIssues(snapshot, context, false);
152
+ if (snapshot.requestHash !==
153
+ createCanonicalJsonSha256(snapshot.request)) {
154
+ context.addIssue({
155
+ code: "custom",
156
+ path: ["requestHash"],
157
+ message: "Context request hash must match the canonical request",
158
+ });
159
+ }
160
+ if (snapshot.asOf !== snapshot.deliveredAt) {
161
+ context.addIssue({
162
+ code: "custom",
163
+ path: ["asOf"],
164
+ message: "Context freshness must use the original delivery time",
165
+ });
166
+ }
167
+ const memoryIds = snapshot.memories.map((memory) => memory.id);
168
+ if (memoryIds.length !== snapshot.packing.includedMemoryIds.length ||
169
+ memoryIds.some((memoryId, index) => memoryId !== snapshot.packing.includedMemoryIds[index])) {
170
+ context.addIssue({
171
+ code: "custom",
172
+ path: ["packing", "includedMemoryIds"],
173
+ message: "Packed memory identities must match the signed memories",
174
+ });
175
+ }
176
+ const includedIds = new Set(memoryIds);
177
+ if (snapshot.hits.some((hit) => !includedIds.has(hit.memory.id))) {
178
+ context.addIssue({
179
+ code: "custom",
180
+ path: ["hits"],
181
+ message: "Every signed retrieval hit must identify an included memory",
182
+ });
183
+ }
184
+ });
185
+ export const GuardPolicyVersionSchema = z
186
+ .string()
187
+ .regex(/^guard-policy-v1:[a-f0-9]{64}$/u);
188
+ export const SnapshotRuleProvenanceSchema = MemorySourceSchema.omit({
189
+ rawText: true,
190
+ })
191
+ .extend({
192
+ workspaceId: z.uuid(),
193
+ sessionId: z.string().trim().min(1).nullable(),
194
+ messageId: z.string().trim().min(1).nullable(),
195
+ eventId: z.uuid().nullable(),
196
+ userId: z.uuid().nullable(),
197
+ redacted: z.boolean(),
198
+ })
199
+ .strict();
200
+ export const SnapshotRequiredRuleSchema = z
201
+ .object({
202
+ id: z.uuid(),
203
+ fingerprint: Sha256HexSchema,
204
+ content: z.string().trim().min(1),
205
+ category: MemoryCategorySchema,
206
+ scope: MemoryScopeSchema,
207
+ status: z.literal("active"),
208
+ enforcement: z.literal("required"),
209
+ source: SnapshotRuleProvenanceSchema,
210
+ createdAt: SnapshotTimestampSchema,
211
+ updatedAt: SnapshotTimestampSchema,
212
+ })
213
+ .strict()
214
+ .superRefine((rule, context) => {
215
+ if (Date.parse(rule.updatedAt) < Date.parse(rule.createdAt)) {
216
+ context.addIssue({
217
+ code: "custom",
218
+ path: ["updatedAt"],
219
+ message: "A rule cannot be updated before it is created",
220
+ });
221
+ }
222
+ });
223
+ function isSortedBy(values, valueOf) {
224
+ for (let index = 1; index < values.length; index += 1) {
225
+ const previous = values[index - 1];
226
+ const current = values[index];
227
+ if (previous !== undefined &&
228
+ current !== undefined &&
229
+ valueOf(previous) >= valueOf(current)) {
230
+ return false;
231
+ }
232
+ }
233
+ return true;
234
+ }
235
+ export const SignedGuardPolicyPayloadSchema = z
236
+ .object({
237
+ snapshotVersion: z.literal(GUARD_POLICY_SNAPSHOT_VERSION),
238
+ contractVersion: ReliabilityContractVersionSchema,
239
+ workspaceId: z.uuid(),
240
+ kind: z.literal("guard_policy"),
241
+ ...SnapshotTemporalFields,
242
+ policyVersion: GuardPolicyVersionSchema,
243
+ mode: GuardModeSchema,
244
+ overrides: z.array(GuardRepoOverrideSchema).max(10_000),
245
+ requiredRules: z.array(SnapshotRequiredRuleSchema).max(100_000),
246
+ })
247
+ .strict()
248
+ .superRefine((snapshot, context) => {
249
+ addSnapshotTemporalIssues(snapshot, context, true);
250
+ if (!isSortedBy(snapshot.overrides, (override) => override.repo)) {
251
+ context.addIssue({
252
+ code: "custom",
253
+ path: ["overrides"],
254
+ message: "Guard policy overrides must be uniquely sorted by repo",
255
+ });
256
+ }
257
+ if (!isSortedBy(snapshot.requiredRules, (rule) => rule.id)) {
258
+ context.addIssue({
259
+ code: "custom",
260
+ path: ["requiredRules"],
261
+ message: "Required rules must be uniquely sorted by ID",
262
+ });
263
+ }
264
+ for (const [index, rule] of snapshot.requiredRules.entries()) {
265
+ if (rule.source.workspaceId !== snapshot.workspaceId) {
266
+ context.addIssue({
267
+ code: "custom",
268
+ path: ["requiredRules", index, "source", "workspaceId"],
269
+ message: "Every required rule must belong to the signed workspace",
270
+ });
271
+ }
272
+ }
273
+ });
274
+ export const SignedSnapshotPayloadSchema = z.discriminatedUnion("kind", [
275
+ SignedContextPayloadSchema,
276
+ SignedGuardPolicyPayloadSchema,
277
+ ]);
278
+ function addCaptureObservationIssues(observation, acknowledgement, context, observationPath) {
279
+ if (acknowledgement?.state !== "committed_server") {
280
+ return;
281
+ }
282
+ if (acknowledgement.processing === "pending_extraction") {
283
+ if (observation.memories.length > 0) {
284
+ context.addIssue({
285
+ code: "custom",
286
+ path: [...observationPath, "memories"],
287
+ message: "Pending extraction cannot return observed memories",
288
+ });
289
+ }
290
+ for (const counter of [
291
+ "created",
292
+ "duplicates",
293
+ "reconciled",
294
+ "superseded",
295
+ ]) {
296
+ if (observation[counter] !== 0) {
297
+ context.addIssue({
298
+ code: "custom",
299
+ path: [...observationPath, counter],
300
+ message: "Pending extraction observation counters must be zero",
301
+ });
302
+ }
303
+ }
304
+ return;
305
+ }
306
+ const observedMemoryIds = observation.memories
307
+ .map((memory) => memory.id)
308
+ .sort();
309
+ const acknowledgedMemoryIds = [...acknowledgement.memoryIds].sort();
310
+ if (observedMemoryIds.length !== acknowledgedMemoryIds.length ||
311
+ observedMemoryIds.some((memoryId, index) => memoryId !== acknowledgedMemoryIds[index])) {
312
+ context.addIssue({
313
+ code: "custom",
314
+ path: ["capture", "acknowledgement", "memoryIds"],
315
+ message: "Completed capture memory identities must match the observation result",
316
+ });
317
+ }
318
+ }
319
+ export const ReliableObservationResponseSchema = z
320
+ .object({
321
+ observation: ObservationResponseSchema,
322
+ capture: CaptureReliabilityResultSchema,
323
+ })
324
+ .strict()
325
+ .superRefine((response, context) => {
326
+ const acknowledgement = response.capture.acknowledgement;
327
+ const committedReplay = response.observation.replayed &&
328
+ acknowledgement?.state === "committed_server" &&
329
+ acknowledgement.replayed;
330
+ if (!committedReplay &&
331
+ response.capture.reliability.requestId !== null &&
332
+ response.capture.reliability.requestId !==
333
+ response.observation.event.requestId) {
334
+ context.addIssue({
335
+ code: "custom",
336
+ path: ["capture", "reliability", "requestId"],
337
+ message: "Capture reliability must bind the observation request",
338
+ });
339
+ }
340
+ if (acknowledgement?.state === "committed_server" &&
341
+ acknowledgement.eventId !== response.observation.event.id) {
342
+ context.addIssue({
343
+ code: "custom",
344
+ path: ["capture", "acknowledgement", "eventId"],
345
+ message: "Capture acknowledgement must bind the observation event",
346
+ });
347
+ }
348
+ if (acknowledgement !== null &&
349
+ acknowledgement.idempotencyKey !==
350
+ response.observation.event.externalEventId) {
351
+ context.addIssue({
352
+ code: "custom",
353
+ path: ["capture", "acknowledgement", "idempotencyKey"],
354
+ message: "Capture acknowledgement must bind the observation identity",
355
+ });
356
+ }
357
+ addCaptureObservationIssues(response.observation, acknowledgement, context, ["observation"]);
358
+ });
359
+ export const ReliableTurnResponseSchema = z
360
+ .object({
361
+ turn: PairedTurnResponseSchema,
362
+ capture: CaptureReliabilityResultSchema,
363
+ retrieval: ReliabilityMetadataSchema,
364
+ contextSnapshot: CompactEd25519JwsSchema,
365
+ })
366
+ .strict()
367
+ .superRefine((response, context) => {
368
+ if (response.retrieval.operation !== "retrieval") {
369
+ context.addIssue({
370
+ code: "custom",
371
+ path: ["retrieval", "operation"],
372
+ message: "Turn retrieval metadata must identify retrieval",
373
+ });
374
+ }
375
+ if (response.capture.reliability.requestId !== null &&
376
+ response.capture.reliability.requestId !== response.turn.requestId) {
377
+ context.addIssue({
378
+ code: "custom",
379
+ path: ["capture", "reliability", "requestId"],
380
+ message: "Capture reliability must bind the turn request",
381
+ });
382
+ }
383
+ if (response.retrieval.requestId !== null &&
384
+ response.retrieval.requestId !== response.turn.receipt.requestId) {
385
+ context.addIssue({
386
+ code: "custom",
387
+ path: ["retrieval", "requestId"],
388
+ message: "Retrieval reliability must bind the turn receipt request",
389
+ });
390
+ }
391
+ if (response.retrieval.policy.source !== "none" &&
392
+ response.retrieval.policy.version !==
393
+ response.turn.receipt.retrievalPolicyVersion) {
394
+ context.addIssue({
395
+ code: "custom",
396
+ path: ["retrieval", "policy", "version"],
397
+ message: "Retrieval reliability must bind the receipt policy",
398
+ });
399
+ }
400
+ const acknowledgement = response.capture.acknowledgement;
401
+ if (acknowledgement?.state === "committed_server" &&
402
+ acknowledgement.eventId !== response.turn.event.id) {
403
+ context.addIssue({
404
+ code: "custom",
405
+ path: ["capture", "acknowledgement", "eventId"],
406
+ message: "Capture acknowledgement must bind the turn event",
407
+ });
408
+ }
409
+ if (acknowledgement !== null &&
410
+ acknowledgement.idempotencyKey !== response.turn.event.externalEventId) {
411
+ context.addIssue({
412
+ code: "custom",
413
+ path: ["capture", "acknowledgement", "idempotencyKey"],
414
+ message: "Capture acknowledgement must bind the turn identity",
415
+ });
416
+ }
417
+ addCaptureObservationIssues(response.turn.observation, acknowledgement, context, ["turn", "observation"]);
418
+ });
419
+ export const ReliableContextDeliveryResponseSchema = z
420
+ .object({
421
+ delivery: ContextDeliveryResponseSchema,
422
+ reliability: ReliabilityMetadataSchema,
423
+ snapshot: CompactEd25519JwsSchema,
424
+ })
425
+ .strict()
426
+ .superRefine((response, context) => {
427
+ if (response.reliability.operation !== "retrieval") {
428
+ context.addIssue({
429
+ code: "custom",
430
+ path: ["reliability", "operation"],
431
+ message: "Context delivery reliability must identify retrieval",
432
+ });
433
+ }
434
+ if (response.reliability.requestId !== null &&
435
+ response.reliability.requestId !== response.delivery.receipt.requestId) {
436
+ context.addIssue({
437
+ code: "custom",
438
+ path: ["reliability", "requestId"],
439
+ message: "Context reliability must bind the delivery request",
440
+ });
441
+ }
442
+ if (response.reliability.policy.source !== "none" &&
443
+ response.reliability.policy.version !==
444
+ response.delivery.receipt.retrievalPolicyVersion) {
445
+ context.addIssue({
446
+ code: "custom",
447
+ path: ["reliability", "policy", "version"],
448
+ message: "Context reliability must bind the delivery policy",
449
+ });
450
+ }
451
+ });
452
+ export const ReliableGuardPolicyResponseSchema = z
453
+ .object({
454
+ policy: WorkspaceGuardPolicySchema,
455
+ reliability: ReliabilityMetadataSchema,
456
+ policyVersion: GuardPolicyVersionSchema,
457
+ snapshot: CompactEd25519JwsSchema,
458
+ })
459
+ .strict()
460
+ .superRefine((response, context) => {
461
+ if (response.reliability.operation !== "guard") {
462
+ context.addIssue({
463
+ code: "custom",
464
+ path: ["reliability", "operation"],
465
+ message: "Guard policy reliability must identify Guard",
466
+ });
467
+ }
468
+ if (response.reliability.policy.source !== "none" &&
469
+ response.reliability.policy.version !== response.policyVersion) {
470
+ context.addIssue({
471
+ code: "custom",
472
+ path: ["reliability", "policy", "version"],
473
+ message: "Guard reliability must bind the signed policy version",
474
+ });
475
+ }
476
+ });
477
+ export const ReliableGuardCheckResponseSchema = z
478
+ .object({
479
+ check: GuardCheckResponseSchema,
480
+ result: GuardReliabilityResultSchema,
481
+ policyVersion: GuardPolicyVersionSchema,
482
+ policySnapshot: CompactEd25519JwsSchema,
483
+ })
484
+ .strict()
485
+ .superRefine((response, context) => {
486
+ if (response.result.verdict.checkId !== response.check.checkId) {
487
+ context.addIssue({
488
+ code: "custom",
489
+ path: ["result", "verdict", "checkId"],
490
+ message: "Reliable Guard result must bind the check identity",
491
+ });
492
+ }
493
+ if (response.result.reliability.policy.source !== "none" &&
494
+ response.result.reliability.policy.version !== response.policyVersion) {
495
+ context.addIssue({
496
+ code: "custom",
497
+ path: ["result", "reliability", "policy", "version"],
498
+ message: "Guard result must bind the signed policy version",
499
+ });
500
+ }
501
+ });
502
+ export const ObservationReliabilityResponseSchema = ReliableObservationResponseSchema;
503
+ export const TurnReliabilityResponseSchema = ReliableTurnResponseSchema;
504
+ export const ContextDeliveryReliabilityResponseSchema = ReliableContextDeliveryResponseSchema;
505
+ export const GuardPolicyReliabilityResponseSchema = ReliableGuardPolicyResponseSchema;
506
+ export const GuardCheckReliabilityResponseSchema = ReliableGuardCheckResponseSchema;
507
+ //# sourceMappingURL=snapshot-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-schemas.js","sourceRoot":"","sources":["../src/snapshot-schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lore-co/core",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "Schemas and primitives for auditable Lore engineering memory",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,6 +30,26 @@
30
30
  "types": "./dist/guard-schemas.d.ts",
31
31
  "import": "./dist/guard-schemas.js"
32
32
  },
33
+ "./reliability-schemas": {
34
+ "types": "./dist/reliability-schemas.d.ts",
35
+ "import": "./dist/reliability-schemas.js"
36
+ },
37
+ "./operational-metrics": {
38
+ "types": "./dist/operational-metrics.d.ts",
39
+ "import": "./dist/operational-metrics.js"
40
+ },
41
+ "./snapshot-schemas": {
42
+ "types": "./dist/snapshot-schemas.d.ts",
43
+ "import": "./dist/snapshot-schemas.js"
44
+ },
45
+ "./canonical-json": {
46
+ "types": "./dist/canonical-json.d.ts",
47
+ "import": "./dist/canonical-json.js"
48
+ },
49
+ "./integration-contract": {
50
+ "types": "./dist/integration-contract.d.ts",
51
+ "import": "./dist/integration-contract.js"
52
+ },
33
53
  "./redaction": {
34
54
  "types": "./dist/redaction.d.ts",
35
55
  "import": "./dist/redaction.js"