@lore-co/core 0.1.23 → 0.1.25

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 (45) hide show
  1. package/dist/attachment-schemas.d.ts +44 -0
  2. package/dist/attachment-schemas.d.ts.map +1 -0
  3. package/dist/attachment-schemas.js +24 -0
  4. package/dist/attachment-schemas.js.map +1 -0
  5. package/dist/guard-schemas.d.ts +4 -4
  6. package/dist/image-bytes.d.ts +19 -0
  7. package/dist/image-bytes.d.ts.map +1 -0
  8. package/dist/image-bytes.js +111 -0
  9. package/dist/image-bytes.js.map +1 -0
  10. package/dist/in-memory-repository.d.ts.map +1 -1
  11. package/dist/in-memory-repository.js +6 -0
  12. package/dist/in-memory-repository.js.map +1 -1
  13. package/dist/index.d.ts +3 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/learning-governance.d.ts +7 -0
  18. package/dist/learning-governance.d.ts.map +1 -0
  19. package/dist/learning-governance.js +14 -0
  20. package/dist/learning-governance.js.map +1 -0
  21. package/dist/pilot-schemas.d.ts +74 -9
  22. package/dist/pilot-schemas.d.ts.map +1 -1
  23. package/dist/pilot-schemas.js +23 -8
  24. package/dist/pilot-schemas.js.map +1 -1
  25. package/dist/platform-admin-schemas.d.ts +13 -0
  26. package/dist/platform-admin-schemas.d.ts.map +1 -1
  27. package/dist/platform-admin-schemas.js +5 -0
  28. package/dist/platform-admin-schemas.js.map +1 -1
  29. package/dist/ports.d.ts +6 -1
  30. package/dist/ports.d.ts.map +1 -1
  31. package/dist/reliability-schemas.d.ts +2 -2
  32. package/dist/schemas.d.ts +13 -12
  33. package/dist/schemas.d.ts.map +1 -1
  34. package/dist/schemas.js +3 -0
  35. package/dist/schemas.js.map +1 -1
  36. package/dist/search-schemas.d.ts +117 -0
  37. package/dist/search-schemas.d.ts.map +1 -0
  38. package/dist/search-schemas.js +93 -0
  39. package/dist/search-schemas.js.map +1 -0
  40. package/dist/session-schemas.d.ts +56 -4
  41. package/dist/session-schemas.d.ts.map +1 -1
  42. package/dist/session-schemas.js +20 -3
  43. package/dist/session-schemas.js.map +1 -1
  44. package/dist/snapshot-schemas.d.ts +16 -16
  45. package/package.json +13 -1
@@ -0,0 +1,44 @@
1
+ import { z } from "zod";
2
+ export * from "./image-bytes.js";
3
+ export declare const EventImageRoleSchema: z.ZodEnum<{
4
+ user: "user";
5
+ assistant: "assistant";
6
+ }>;
7
+ export declare const ImageMediaTypeSchema: z.ZodEnum<{
8
+ "image/png": "image/png";
9
+ "image/jpeg": "image/jpeg";
10
+ "image/gif": "image/gif";
11
+ "image/webp": "image/webp";
12
+ }>;
13
+ export declare const EventImageSchema: z.ZodObject<{
14
+ id: z.ZodUUID;
15
+ eventId: z.ZodUUID;
16
+ name: z.ZodString;
17
+ mediaType: z.ZodEnum<{
18
+ "image/png": "image/png";
19
+ "image/jpeg": "image/jpeg";
20
+ "image/gif": "image/gif";
21
+ "image/webp": "image/webp";
22
+ }>;
23
+ byteSize: z.ZodNumber;
24
+ width: z.ZodNumber;
25
+ height: z.ZodNumber;
26
+ role: z.ZodEnum<{
27
+ user: "user";
28
+ assistant: "assistant";
29
+ }>;
30
+ sha256: z.ZodString;
31
+ }, z.core.$strict>;
32
+ export type EventImage = z.infer<typeof EventImageSchema>;
33
+ export declare const AttachEventImageQuerySchema: z.ZodObject<{
34
+ connector: z.ZodString;
35
+ eventId: z.ZodString;
36
+ sessionId: z.ZodString;
37
+ role: z.ZodDefault<z.ZodEnum<{
38
+ user: "user";
39
+ assistant: "assistant";
40
+ }>>;
41
+ name: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strict>;
43
+ export type AttachEventImageQuery = z.infer<typeof AttachEventImageQuerySchema>;
44
+ //# sourceMappingURL=attachment-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-schemas.d.ts","sourceRoot":"","sources":["../src/attachment-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AACjC,eAAO,MAAM,oBAAoB;;;EAAgC,CAAC;AAClE,eAAO,MAAM,oBAAoB;;;;;EAAiE,CAAC;AACnG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;kBAUlB,CAAC;AACZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,eAAO,MAAM,2BAA2B;;;;;;;;;kBAM7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ import { MAX_EVENT_IMAGE_BYTES } from "./image-bytes.js";
3
+ export * from "./image-bytes.js";
4
+ export const EventImageRoleSchema = z.enum(["user", "assistant"]);
5
+ export const ImageMediaTypeSchema = z.enum(["image/png", "image/jpeg", "image/gif", "image/webp"]);
6
+ export const EventImageSchema = z.object({
7
+ id: z.uuid(),
8
+ eventId: z.uuid(),
9
+ name: z.string().min(1).max(240),
10
+ mediaType: ImageMediaTypeSchema,
11
+ byteSize: z.number().int().positive().max(MAX_EVENT_IMAGE_BYTES),
12
+ width: z.number().int().positive().max(20000),
13
+ height: z.number().int().positive().max(20000),
14
+ role: EventImageRoleSchema,
15
+ sha256: z.string().regex(/^[a-f0-9]{64}$/u),
16
+ }).strict();
17
+ export const AttachEventImageQuerySchema = z.object({
18
+ connector: z.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._-]*$/iu),
19
+ eventId: z.string().min(1).max(500),
20
+ sessionId: z.string().min(1).max(500),
21
+ role: EventImageRoleSchema.default("user"),
22
+ name: z.string().min(1).max(240).optional(),
23
+ }).strict();
24
+ //# sourceMappingURL=attachment-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-schemas.js","sourceRoot":"","sources":["../src/attachment-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,cAAc,kBAAkB,CAAC;AACjC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;IACZ,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC;CAC5C,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACrC,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -146,11 +146,11 @@ export declare const GuardItemSchema: z.ZodObject<{
146
146
  }>>;
147
147
  matchedTerms: z.ZodArray<z.ZodString>;
148
148
  provenance: z.ZodObject<{
149
+ eventId: z.ZodOptional<z.ZodUUID>;
150
+ sessionId: z.ZodOptional<z.ZodString>;
149
151
  workspaceId: z.ZodOptional<z.ZodUUID>;
150
152
  agent: z.ZodString;
151
- sessionId: z.ZodOptional<z.ZodString>;
152
153
  messageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
153
- eventId: z.ZodOptional<z.ZodUUID>;
154
154
  userId: z.ZodOptional<z.ZodUUID>;
155
155
  redacted: z.ZodOptional<z.ZodBoolean>;
156
156
  }, z.core.$strict>;
@@ -243,11 +243,11 @@ export declare const GuardCheckResponseSchema: z.ZodObject<{
243
243
  }>>;
244
244
  matchedTerms: z.ZodArray<z.ZodString>;
245
245
  provenance: z.ZodObject<{
246
+ eventId: z.ZodOptional<z.ZodUUID>;
247
+ sessionId: z.ZodOptional<z.ZodString>;
246
248
  workspaceId: z.ZodOptional<z.ZodUUID>;
247
249
  agent: z.ZodString;
248
- sessionId: z.ZodOptional<z.ZodString>;
249
250
  messageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
250
- eventId: z.ZodOptional<z.ZodUUID>;
251
251
  userId: z.ZodOptional<z.ZodUUID>;
252
252
  redacted: z.ZodOptional<z.ZodBoolean>;
253
253
  }, z.core.$strict>;
@@ -0,0 +1,19 @@
1
+ export declare const MAX_EVENT_IMAGE_BYTES: number;
2
+ export declare const MAX_EVENT_IMAGES = 6;
3
+ export type ImageMediaType = "image/png" | "image/jpeg" | "image/gif" | "image/webp";
4
+ export interface InlineEventImage {
5
+ name: string;
6
+ mediaType: ImageMediaType;
7
+ base64: string;
8
+ role: "user" | "assistant";
9
+ }
10
+ /** Host message parts only. This never dereferences URLs or paths in conversation text. */
11
+ export declare function inlineEventImages(parts: unknown, role?: InlineEventImage["role"]): InlineEventImage[];
12
+ /** Raster signatures and dimensions only; SVG and remote URLs are not accepted. */
13
+ export declare function inspectEventImage(bytes: Uint8Array): {
14
+ mediaType: ImageMediaType;
15
+ width: number;
16
+ height: number;
17
+ } | null;
18
+ export declare function imageAttachmentName(value: string, fallback?: string): string;
19
+ //# sourceMappingURL=image-bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-bytes.d.ts","sourceRoot":"","sources":["../src/image-bytes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,QAAkB,CAAC;AACrD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;AACrF,MAAM,WAAW,gBAAgB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE;AAEzH,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAgB,CAAC,MAAM,CAAU,GAAG,gBAAgB,EAAE,CAuC7G;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG;IAAE,SAAS,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmCxH;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAU,GAAG,MAAM,CAE7E"}
@@ -0,0 +1,111 @@
1
+ export const MAX_EVENT_IMAGE_BYTES = 5 * 1024 * 1024;
2
+ export const MAX_EVENT_IMAGES = 6;
3
+ /** Host message parts only. This never dereferences URLs or paths in conversation text. */
4
+ export function inlineEventImages(parts, role = "user") {
5
+ if (!Array.isArray(parts))
6
+ return [];
7
+ const images = [];
8
+ const object = (value) => !!value && typeof value === "object" && !Array.isArray(value);
9
+ let wrapperName;
10
+ for (const part of parts.slice(0, 200)) {
11
+ if (!object(part))
12
+ continue;
13
+ if (part.type === "input_text" && typeof part.text === "string") {
14
+ wrapperName = /^<image\b[^>]*\bpath="([^"]+)"[^>]*>$/u.exec(part.text.trim())?.[1];
15
+ }
16
+ let mediaType, base64;
17
+ const source = object(part.source) ? part.source : undefined;
18
+ const url = part.type === "input_image" ? part.image_url
19
+ : part.type === "image_url" && object(part.image_url) ? part.image_url.url
20
+ : part.type === "file" || part.type === "image" ? part.url : undefined;
21
+ if (typeof url === "string") {
22
+ const match = /^data:(image\/(?:png|jpeg|gif|webp));base64,([A-Za-z0-9+/]*={0,2})$/u.exec(url);
23
+ mediaType = match?.[1];
24
+ base64 = match?.[2];
25
+ }
26
+ else if (part.type === "image" && source?.type === "base64") {
27
+ mediaType = source.media_type;
28
+ base64 = source.data;
29
+ }
30
+ else if (part.type === "image") {
31
+ mediaType = part.mimeType ?? part.mediaType;
32
+ base64 = part.data ?? part.base64;
33
+ }
34
+ if (typeof base64 !== "string" || base64.length > Math.ceil(MAX_EVENT_IMAGE_BYTES / 3) * 4 || !/^[A-Za-z0-9+/]+={0,2}$/u.test(base64))
35
+ continue;
36
+ let bytes;
37
+ try {
38
+ const binary = atob(base64);
39
+ if (btoa(binary) !== base64)
40
+ continue;
41
+ bytes = Uint8Array.from(binary, char => char.charCodeAt(0));
42
+ }
43
+ catch {
44
+ continue;
45
+ }
46
+ const dimensions = inspectEventImage(bytes);
47
+ if (!dimensions || dimensions.mediaType !== mediaType)
48
+ continue;
49
+ if (images.some(image => image.base64 === base64))
50
+ continue;
51
+ const name = part.filename ?? part.name ?? wrapperName;
52
+ images.push({ name: imageAttachmentName(typeof name === "string" ? name : `Image ${images.length + 1}.${dimensions.mediaType.split("/")[1].replace("jpeg", "jpg")}`), mediaType: dimensions.mediaType, base64, role });
53
+ wrapperName = undefined;
54
+ if (images.length === MAX_EVENT_IMAGES)
55
+ break;
56
+ }
57
+ return images;
58
+ }
59
+ /** Raster signatures and dimensions only; SVG and remote URLs are not accepted. */
60
+ export function inspectEventImage(bytes) {
61
+ if (bytes.length < 20 || bytes.length > MAX_EVENT_IMAGE_BYTES)
62
+ return null;
63
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
64
+ const ascii = (start, length) => String.fromCharCode(...bytes.subarray(start, start + length));
65
+ let result;
66
+ if (bytes.length >= 33 && ascii(1, 3) === "PNG" && bytes[0] === 137 && view.getUint32(4) === 0x0d0a1a0a && ascii(12, 4) === "IHDR") {
67
+ result = { mediaType: "image/png", width: view.getUint32(16), height: view.getUint32(20) };
68
+ }
69
+ else if (["GIF87a", "GIF89a"].includes(ascii(0, 6))) {
70
+ result = { mediaType: "image/gif", width: view.getUint16(6, true), height: view.getUint16(8, true) };
71
+ }
72
+ else if (bytes[0] === 0xff && bytes[1] === 0xd8) {
73
+ let offset = 2;
74
+ while (offset + 8 < bytes.length) {
75
+ if (bytes[offset++] !== 0xff)
76
+ return null;
77
+ while (bytes[offset] === 0xff)
78
+ offset++;
79
+ const marker = bytes[offset++];
80
+ if (marker === 0xd9 || marker === 0xda)
81
+ break;
82
+ if (marker === undefined || offset + 2 > bytes.length)
83
+ return null;
84
+ const length = view.getUint16(offset);
85
+ if (length < 2 || offset + length > bytes.length)
86
+ return null;
87
+ if ([0xc0, 0xc1, 0xc2, 0xc3, 0xc5, 0xc6, 0xc7, 0xc9, 0xca, 0xcb, 0xcd, 0xce, 0xcf].includes(marker) && length >= 8) {
88
+ result = { mediaType: "image/jpeg", width: view.getUint16(offset + 5), height: view.getUint16(offset + 3) };
89
+ break;
90
+ }
91
+ offset += length;
92
+ }
93
+ }
94
+ else if (bytes.length >= 30 && ascii(0, 4) === "RIFF" && ascii(8, 4) === "WEBP") {
95
+ const kind = ascii(12, 4);
96
+ const uint24 = (n) => bytes[n] | bytes[n + 1] << 8 | bytes[n + 2] << 16;
97
+ if (kind === "VP8X")
98
+ result = { mediaType: "image/webp", width: uint24(24) + 1, height: uint24(27) + 1 };
99
+ else if (kind === "VP8 " && bytes[23] === 0x9d && bytes[24] === 1 && bytes[25] === 0x2a)
100
+ result = { mediaType: "image/webp", width: view.getUint16(26, true) & 0x3fff, height: view.getUint16(28, true) & 0x3fff };
101
+ else if (kind === "VP8L" && bytes[20] === 0x2f) {
102
+ const dimensions = view.getUint32(21, true);
103
+ result = { mediaType: "image/webp", width: (dimensions & 0x3fff) + 1, height: ((dimensions >>> 14) & 0x3fff) + 1 };
104
+ }
105
+ }
106
+ return result && result.width > 0 && result.height > 0 && result.width <= 20000 && result.height <= 20000 && result.width * result.height <= 40_000_000 ? result : null;
107
+ }
108
+ export function imageAttachmentName(value, fallback = "Image") {
109
+ return value.split(/[\\/]/u).at(-1)?.replace(/[\u0000-\u001f\u007f]/gu, "").trim().slice(0, 240) || fallback;
110
+ }
111
+ //# sourceMappingURL=image-bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-bytes.js","sourceRoot":"","sources":["../src/image-bytes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-repository.d.ts","sourceRoot":"","sources":["../src/in-memory-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAkDpB,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,WAAW,GACrB,OAAO,CAQT;AAMD,qBAAa,wBAAyB,YAAW,gBAAgB;;gBAQnD,eAAe,GAAE,SAAS,MAAM,EAAO;IAkB7C,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBxD,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,gBAAgB,EAC/B,cAAc,GAAE,SAAS,cAAc,EAAO,GAC7C,OAAO,CAAC,mBAAmB,CAAC;IA0EzB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASxE,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAkB3B,mBAAmB,CACvB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAkBhC,cAAc,CAClB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAqJ5B,0BAA0B,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC;IAa7B,6BAA6B,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,6BAA6B,GACzC,OAAO,CAAC,uBAAuB,CAAC;IAgE7B,IAAI,CACR,KAAK,GAAE,eAAoB,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAmD1B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,YAAY,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoEnB,UAAU,CACd,EAAE,EAAE,MAAM,EACV,SAAS,SAA2B,EACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyBnB,yBAAyB,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC;IA6Dd,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;CAqElC"}
1
+ {"version":3,"file":"in-memory-repository.d.ts","sourceRoot":"","sources":["../src/in-memory-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAmDpB,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,WAAW,GACrB,OAAO,CAQT;AAMD,qBAAa,wBAAyB,YAAW,gBAAgB;;gBAQnD,eAAe,GAAE,SAAS,MAAM,EAAO;IAkB7C,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBxD,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,gBAAgB,EAC/B,cAAc,GAAE,SAAS,cAAc,EAAO,GAC7C,OAAO,CAAC,mBAAmB,CAAC;IA0EzB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASxE,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAkB3B,mBAAmB,CACvB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAkBhC,cAAc,CAClB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IA0J5B,0BAA0B,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC;IAa7B,6BAA6B,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,6BAA6B,GACzC,OAAO,CAAC,uBAAuB,CAAC;IAgE7B,IAAI,CACR,KAAK,GAAE,eAAoB,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAmD1B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,YAAY,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoEnB,UAAU,CACd,EAAE,EAAE,MAAM,EACV,SAAS,SAA2B,EACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyBnB,yBAAyB,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC;IA6Dd,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;CAqElC"}
@@ -1,6 +1,7 @@
1
1
  import { ListMemoriesDtoSchema, MemoryConflictSchema, MemorySchema, MemoryUpdateSchema, ProposalMetadataSchema, ReviewProposalDtoSchema, UpdateWorkspaceLearningPolicySchema, WorkspaceLearningPolicySchema, } from "./schemas.js";
2
2
  import { createMemoryFingerprint } from "./engine.js";
3
3
  import { candidateKeywordScore, memoryNeedsReview } from "./knowledge-quality.js";
4
+ import { assertWorkspaceWideReview, WorkspaceWideReviewError } from "./learning-governance.js";
4
5
  function copyMemory(memory) {
5
6
  return structuredClone(memory);
6
7
  }
@@ -199,6 +200,7 @@ export class InMemoryMemoryRepository {
199
200
  if (metadata.decision !== null || current.status !== "proposed") {
200
201
  throw new Error(`Proposal has already been resolved: ${current.id}`);
201
202
  }
203
+ assertWorkspaceWideReview(context.allowWorkspaceWideReview, current.scope, input.scope ?? current.scope);
202
204
  const openConflicts = this.#proposalConflicts(current.id).filter((conflict) => conflict.resolution === null);
203
205
  const blocking = openConflicts.filter((conflict) => conflict.severity === "blocking");
204
206
  if (input.decision === "approve" &&
@@ -227,6 +229,10 @@ export class InMemoryMemoryRepository {
227
229
  current.supersedesMemoryId !== target.id) {
228
230
  throw new Error("Proposal lineage does not match the conflict target");
229
231
  }
232
+ assertWorkspaceWideReview(context.allowWorkspaceWideReview, target.scope);
233
+ if (context.allowWorkspaceWideReview === false && target.enforcement === "required") {
234
+ throw new WorkspaceWideReviewError();
235
+ }
230
236
  }
231
237
  const decidedAt = new Date().toISOString();
232
238
  const supersedesMemoryId = input.decision === "use_proposal" ? (target?.id ?? null) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../src/in-memory-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../src/in-memory-repository.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,9 +14,12 @@ export * from "./in-memory-repository.js";
14
14
  export * from "./engine.js";
15
15
  export * from "./conflict-detector.js";
16
16
  export * from "./knowledge-quality.js";
17
+ export * from "./learning-governance.js";
17
18
  export * from "./redaction.js";
18
19
  export * from "./canonical-json.js";
19
20
  export * from "./injected-context.js";
20
21
  export * from "./native-coding-agents.js";
21
22
  export * from "./integration-contract.js";
23
+ export * from "./search-schemas.js";
24
+ export * from "./attachment-schemas.js";
22
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -14,9 +14,12 @@ export * from "./in-memory-repository.js";
14
14
  export * from "./engine.js";
15
15
  export * from "./conflict-detector.js";
16
16
  export * from "./knowledge-quality.js";
17
+ export * from "./learning-governance.js";
17
18
  export * from "./redaction.js";
18
19
  export * from "./canonical-json.js";
19
20
  export * from "./injected-context.js";
20
21
  export * from "./native-coding-agents.js";
21
22
  export * from "./integration-contract.js";
23
+ export * from "./search-schemas.js";
24
+ export * from "./attachment-schemas.js";
22
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,4BAA4B,GAE7B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,4BAA4B,GAE7B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type MemoryScope } from "./schemas.js";
2
+ export declare class WorkspaceWideReviewError extends Error {
3
+ constructor();
4
+ }
5
+ /** The permission comes from the authenticated session, never a request body. */
6
+ export declare function assertWorkspaceWideReview(allowed: boolean | undefined, ...scopes: MemoryScope[]): void;
7
+ //# sourceMappingURL=learning-governance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning-governance.d.ts","sourceRoot":"","sources":["../src/learning-governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtE,qBAAa,wBAAyB,SAAQ,KAAK;;CAKlD;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,GAAG,MAAM,EAAE,WAAW,EAAE,GACvB,IAAI,CAIN"}
@@ -0,0 +1,14 @@
1
+ import { isWorkspaceWideScope } from "./schemas.js";
2
+ export class WorkspaceWideReviewError extends Error {
3
+ constructor() {
4
+ super("Only a workspace owner or admin can review workspace-wide proposals.");
5
+ this.name = "WorkspaceWideReviewError";
6
+ }
7
+ }
8
+ /** The permission comes from the authenticated session, never a request body. */
9
+ export function assertWorkspaceWideReview(allowed, ...scopes) {
10
+ if (allowed === false && scopes.some(isWorkspaceWideScope)) {
11
+ throw new WorkspaceWideReviewError();
12
+ }
13
+ }
14
+ //# sourceMappingURL=learning-governance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning-governance.js","sourceRoot":"","sources":["../src/learning-governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAoB,MAAM,cAAc,CAAC;AAEtE,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CACvC,OAA4B,EAC5B,GAAG,MAAqB;IAExB,IAAI,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,wBAAwB,EAAE,CAAC;IACvC,CAAC;AACH,CAAC"}