@pegma/knowledge-base-application 0.0.0-stage → 0.1.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.
Files changed (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +140 -2
  3. package/dist/articles.d.ts +10 -0
  4. package/dist/articles.d.ts.map +1 -0
  5. package/dist/articles.js +454 -0
  6. package/dist/articles.js.map +1 -0
  7. package/dist/errors.d.ts +18 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +34 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/governance.d.ts +14 -0
  12. package/dist/governance.d.ts.map +1 -0
  13. package/dist/governance.js +364 -0
  14. package/dist/governance.js.map +1 -0
  15. package/dist/index.d.ts +13 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +46 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/lexical.d.ts +13 -0
  20. package/dist/lexical.d.ts.map +1 -0
  21. package/dist/lexical.js +105 -0
  22. package/dist/lexical.js.map +1 -0
  23. package/dist/publication.d.ts +42 -0
  24. package/dist/publication.d.ts.map +1 -0
  25. package/dist/publication.js +258 -0
  26. package/dist/publication.js.map +1 -0
  27. package/dist/reads.d.ts +5 -0
  28. package/dist/reads.d.ts.map +1 -0
  29. package/dist/reads.js +228 -0
  30. package/dist/reads.js.map +1 -0
  31. package/dist/records.d.ts +40 -0
  32. package/dist/records.d.ts.map +1 -0
  33. package/dist/records.js +122 -0
  34. package/dist/records.js.map +1 -0
  35. package/dist/repository.d.ts +74 -0
  36. package/dist/repository.d.ts.map +1 -0
  37. package/dist/repository.js +738 -0
  38. package/dist/repository.js.map +1 -0
  39. package/dist/retrieval-budget.d.ts +37 -0
  40. package/dist/retrieval-budget.d.ts.map +1 -0
  41. package/dist/retrieval-budget.js +111 -0
  42. package/dist/retrieval-budget.js.map +1 -0
  43. package/dist/retrieval-limits.d.ts +4 -0
  44. package/dist/retrieval-limits.d.ts.map +1 -0
  45. package/dist/retrieval-limits.js +21 -0
  46. package/dist/retrieval-limits.js.map +1 -0
  47. package/dist/retrieval-maintenance.d.ts +19 -0
  48. package/dist/retrieval-maintenance.d.ts.map +1 -0
  49. package/dist/retrieval-maintenance.js +359 -0
  50. package/dist/retrieval-maintenance.js.map +1 -0
  51. package/dist/retrieval-records.d.ts +55 -0
  52. package/dist/retrieval-records.d.ts.map +1 -0
  53. package/dist/retrieval-records.js +140 -0
  54. package/dist/retrieval-records.js.map +1 -0
  55. package/dist/retrieval-repository.d.ts +32 -0
  56. package/dist/retrieval-repository.d.ts.map +1 -0
  57. package/dist/retrieval-repository.js +750 -0
  58. package/dist/retrieval-repository.js.map +1 -0
  59. package/dist/retrieval-types.d.ts +185 -0
  60. package/dist/retrieval-types.d.ts.map +1 -0
  61. package/dist/retrieval-types.js +24 -0
  62. package/dist/retrieval-types.js.map +1 -0
  63. package/dist/retrieval.d.ts +12 -0
  64. package/dist/retrieval.d.ts.map +1 -0
  65. package/dist/retrieval.js +541 -0
  66. package/dist/retrieval.js.map +1 -0
  67. package/dist/storage-helpers.d.ts +23 -0
  68. package/dist/storage-helpers.d.ts.map +1 -0
  69. package/dist/storage-helpers.js +138 -0
  70. package/dist/storage-helpers.js.map +1 -0
  71. package/dist/types.d.ts +280 -0
  72. package/dist/types.d.ts.map +1 -0
  73. package/dist/types.js +2 -0
  74. package/dist/types.js.map +1 -0
  75. package/package.json +42 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-maintenance.js","sourceRoot":"","sources":["../src/retrieval-maintenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { type StoredRecord } from "@pegma/storage-core";
2
+ export interface RetrievalScope {
3
+ readonly collectionId: string;
4
+ readonly policyVersion: number;
5
+ readonly use: "portal" | "bot";
6
+ }
7
+ /** Derived identity only. A hint never grants authority to content. */
8
+ export interface RetrievalHint extends RetrievalScope {
9
+ readonly articleId: string;
10
+ readonly articleRevision: number;
11
+ readonly contentHash: string;
12
+ readonly generation: number;
13
+ readonly sourceGeneration: number;
14
+ readonly bindingHash: string;
15
+ }
16
+ export interface RetrievalPostingPage {
17
+ readonly entries: readonly RetrievalHint[];
18
+ }
19
+ export interface RetrievalProjectionTarget {
20
+ readonly scope: RetrievalScope;
21
+ readonly hint: RetrievalHint;
22
+ readonly terms: readonly string[];
23
+ }
24
+ export interface RetrievalStoredTarget {
25
+ readonly scope: RetrievalScope;
26
+ readonly hint: RetrievalHint;
27
+ readonly termHashes: readonly string[];
28
+ }
29
+ export type RetrievalBlockedReason = "capacity" | "source-unavailable" | "conflict";
30
+ export interface RetrievalProjectionState {
31
+ readonly articleId: string;
32
+ /** Monotonic projection-plan fence, independent of article generation. */
33
+ readonly generation: number;
34
+ /** Authoritative article generation used to derive this plan. */
35
+ readonly sourceGeneration: number;
36
+ readonly status: "pending" | "ready" | "blocked";
37
+ readonly reason?: RetrievalBlockedReason;
38
+ readonly targets: readonly RetrievalStoredTarget[];
39
+ readonly pendingScopes: readonly RetrievalScope[];
40
+ readonly knownScopes: readonly RetrievalScope[];
41
+ }
42
+ export type RetrievalRecordKind = "directory" | "catalog" | "article" | "scope" | "manifest" | "posting" | "page";
43
+ export interface RetrievalRecord {
44
+ readonly schemaVersion: 1;
45
+ readonly partition: string;
46
+ readonly id: string;
47
+ readonly kind: RetrievalRecordKind;
48
+ readonly data: unknown;
49
+ }
50
+ export declare function requireRetrievalScope(scope: RetrievalScope): void;
51
+ export declare function requireRetrievalHint(hint: RetrievalHint): void;
52
+ export declare function encodeRetrievalRecord(record: RetrievalRecord): StoredRecord;
53
+ export declare function decodeRetrievalRecord(record: StoredRecord): RetrievalRecord;
54
+ export declare const retrievalRecords: import("@pegma/storage-core").CollectionDefinition<RetrievalRecord>;
55
+ //# sourceMappingURL=retrieval-records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-records.d.ts","sourceRoot":"","sources":["../src/retrieval-records.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAS1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAAC;CAChC;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,MAAM,sBAAsB,GAChC,UAAU,GAAG,oBAAoB,GAAG,UAAU,CAAC;AAEjD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;CACjD;AAED,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,GACP,UAAU,GACV,SAAS,GACT,MAAM,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAeD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAWjE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CA+B9D;AAqBD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY,CAwB3E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CA0C3E;AAED,eAAO,MAAM,gBAAgB,qEAI3B,CAAC"}
@@ -0,0 +1,140 @@
1
+ import { defineCollection } from "@pegma/storage-core";
2
+ import { canonicalJson, RepositoryCapacityError, RepositoryIntegrityError, requireGeneration, requireIdentifier, } from "./storage-helpers.js";
3
+ const kinds = [
4
+ "directory",
5
+ "catalog",
6
+ "article",
7
+ "scope",
8
+ "manifest",
9
+ "posting",
10
+ "page",
11
+ ];
12
+ const maximumNativeBytes = 900_000;
13
+ const chunkCharacters = 30_000;
14
+ const maximumChunks = 15;
15
+ export function requireRetrievalScope(scope) {
16
+ requireIdentifier(scope.collectionId, "collectionId");
17
+ requireGeneration(scope.policyVersion, 1);
18
+ if (scope.use !== "portal" && scope.use !== "bot")
19
+ throw new TypeError("Expected a retrieval use");
20
+ if (Object.keys(scope).some((key) => !["collectionId", "policyVersion", "use"].includes(key)))
21
+ throw new TypeError("Unexpected retrieval scope field");
22
+ }
23
+ export function requireRetrievalHint(hint) {
24
+ requireRetrievalScope({
25
+ collectionId: hint.collectionId,
26
+ policyVersion: hint.policyVersion,
27
+ use: hint.use,
28
+ });
29
+ requireIdentifier(hint.articleId, "articleId");
30
+ requireGeneration(hint.articleRevision, 1);
31
+ requireGeneration(hint.generation, 1);
32
+ requireGeneration(hint.sourceGeneration);
33
+ if (!/^[a-f0-9]{64}$/u.test(hint.contentHash) ||
34
+ !/^[a-f0-9]{64}$/u.test(hint.bindingHash))
35
+ throw new TypeError("Expected a retrieval digest");
36
+ const allowed = [
37
+ "collectionId",
38
+ "policyVersion",
39
+ "use",
40
+ "articleId",
41
+ "articleRevision",
42
+ "contentHash",
43
+ "generation",
44
+ "sourceGeneration",
45
+ "bindingHash",
46
+ ];
47
+ if (Object.keys(hint).length !== allowed.length ||
48
+ Object.keys(hint).some((key) => !allowed.includes(key)))
49
+ throw new TypeError("Unexpected retrieval hint field");
50
+ }
51
+ function validateRecord(record) {
52
+ if (record.schemaVersion !== 1 ||
53
+ !kinds.includes(record.kind) ||
54
+ typeof record.partition !== "string" ||
55
+ !/^(directory|catalog:[a-f0-9]{64}|article:[a-f0-9]{64}|scope:[a-f0-9]{64})$/u.test(record.partition) ||
56
+ typeof record.id !== "string" ||
57
+ record.id.length === 0 ||
58
+ record.id.length > 200 ||
59
+ /[^A-Za-z0-9:._-]/u.test(record.id) ||
60
+ record.data === null ||
61
+ typeof record.data !== "object" ||
62
+ Array.isArray(record.data))
63
+ throw new RepositoryIntegrityError();
64
+ }
65
+ export function encodeRetrievalRecord(record) {
66
+ validateRecord(record);
67
+ const payload = canonicalJson(record.data);
68
+ if (payload.length * 2 > maximumNativeBytes - 4_096)
69
+ throw new RepositoryCapacityError("index_record_bytes");
70
+ const parts = [];
71
+ for (let offset = 0; offset < payload.length;) {
72
+ let end = Math.min(payload.length, offset + chunkCharacters);
73
+ const last = payload.charCodeAt(end - 1);
74
+ if (end < payload.length && last >= 0xd800 && last <= 0xdbff)
75
+ end -= 1;
76
+ parts.push(payload.slice(offset, end));
77
+ offset = end;
78
+ }
79
+ if (parts.length === 0 || parts.length > maximumChunks)
80
+ throw new RepositoryCapacityError("index_record_chunks");
81
+ const encoded = {
82
+ schemaVersion: 1,
83
+ recordPartition: record.partition,
84
+ recordId: record.id,
85
+ kind: record.kind,
86
+ partCount: parts.length,
87
+ };
88
+ for (const [index, part] of parts.entries())
89
+ encoded["part" + index] = part;
90
+ return encoded;
91
+ }
92
+ export function decodeRetrievalRecord(record) {
93
+ try {
94
+ if (record.schemaVersion !== 1 || typeof record.partCount !== "number")
95
+ throw new RepositoryIntegrityError();
96
+ requireGeneration(record.partCount, 1);
97
+ if (record.partCount > maximumChunks)
98
+ throw new RepositoryIntegrityError();
99
+ const expected = new Set([
100
+ "schemaVersion",
101
+ "recordPartition",
102
+ "recordId",
103
+ "kind",
104
+ "partCount",
105
+ ...Array.from({ length: record.partCount }, (_, index) => "part" + index),
106
+ ]);
107
+ if (Object.keys(record).length !== expected.size ||
108
+ Object.keys(record).some((key) => !expected.has(key)))
109
+ throw new RepositoryIntegrityError();
110
+ const parts = [];
111
+ for (let index = 0; index < record.partCount; index += 1) {
112
+ const part = record["part" + index];
113
+ if (typeof part !== "string" || part.length > chunkCharacters)
114
+ throw new RepositoryIntegrityError();
115
+ parts.push(part);
116
+ }
117
+ const payload = parts.join("");
118
+ if (payload.length * 2 > maximumNativeBytes - 4_096)
119
+ throw new RepositoryIntegrityError();
120
+ const decoded = {
121
+ schemaVersion: 1,
122
+ partition: record.recordPartition,
123
+ id: record.recordId,
124
+ kind: record.kind,
125
+ data: JSON.parse(payload),
126
+ };
127
+ validateRecord(decoded);
128
+ canonicalJson(decoded.data);
129
+ return decoded;
130
+ }
131
+ catch {
132
+ throw new RepositoryIntegrityError();
133
+ }
134
+ }
135
+ export const retrievalRecords = defineCollection({
136
+ name: "knowledge-base.retrieval.v1",
137
+ key: (record) => ({ partition: record.partition, id: record.id }),
138
+ codec: { encode: encodeRetrievalRecord, decode: decodeRetrievalRecord },
139
+ });
140
+ //# sourceMappingURL=retrieval-records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-records.js","sourceRoot":"","sources":["../src/retrieval-records.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Store } from "@pegma/storage-core";
2
+ import { type RetrievalBlockedReason, type RetrievalPostingPage, type RetrievalProjectionState, type RetrievalProjectionTarget, type RetrievalScope } from "./retrieval-records.js";
3
+ import type { KnowledgeRetrievalLimits } from "./retrieval-types.js";
4
+ export interface BeginArticleProjectionInput {
5
+ readonly articleId: string;
6
+ readonly generation: number;
7
+ readonly sourceGeneration: number;
8
+ readonly targets: readonly RetrievalProjectionTarget[];
9
+ }
10
+ export interface RetrievalCatalog {
11
+ readonly articleIds: readonly string[];
12
+ readonly scopes: readonly RetrievalScope[];
13
+ }
14
+ export interface RetrievalRepository {
15
+ registerCollection(collectionId: string): Promise<void>;
16
+ readDirectory(): Promise<readonly string[]>;
17
+ readCatalog(collectionId: string): Promise<RetrievalCatalog>;
18
+ /** Every returned page/entry must be charged before query filtering/deduplication. */
19
+ readPostingPages(scope: RetrievalScope, term: string): Promise<readonly RetrievalPostingPage[]>;
20
+ readArticleProjection(articleId: string): Promise<RetrievalProjectionState | null>;
21
+ beginArticleProjection(input: BeginArticleProjectionInput): Promise<RetrievalProjectionState>;
22
+ advanceArticleProjection(articleId: string, expectedGeneration: number): Promise<{
23
+ readonly state: RetrievalProjectionState;
24
+ readonly complete: boolean;
25
+ readonly changed: boolean;
26
+ }>;
27
+ markArticleProjectionBlocked(articleId: string, generation: number, reason: RetrievalBlockedReason, sourceGeneration?: number): Promise<RetrievalProjectionState>;
28
+ }
29
+ export declare const retrievalTermHash: (term: string) => Promise<string>;
30
+ /** A repairable derived index; authoritative content always lives in KnowledgeRepository. */
31
+ export declare function createRetrievalRepository(store: Store, overrides?: Partial<KnowledgeRetrievalLimits>): RetrievalRepository;
32
+ //# sourceMappingURL=retrieval-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-repository.d.ts","sourceRoot":"","sources":["../src/retrieval-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKL,KAAK,sBAAsB,EAE3B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAG9B,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAcrE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACxD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7D,sFAAsF;IACtF,gBAAgB,CACd,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAAC;IAC5C,qBAAqB,CACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;IAC5C,sBAAsB,CACpB,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,wBAAwB,CACtB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC;QACT,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;QACzC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC,CAAC;IACH,4BAA4B,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,sBAAsB,EAC9B,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACtC;AA2PD,eAAO,MAAM,iBAAiB,SAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,CASpE,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,EACZ,SAAS,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAChD,mBAAmB,CAitBrB"}