@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,138 @@
1
+ export class RepositoryConflictError extends Error {
2
+ name = "RepositoryConflictError";
3
+ constructor() {
4
+ super("Knowledge resource changed or command identity was reused");
5
+ }
6
+ }
7
+ export class RepositoryCapacityError extends Error {
8
+ budget;
9
+ name = "RepositoryCapacityError";
10
+ constructor(budget) {
11
+ super("Knowledge resource reached its configured " + budget + " limit");
12
+ this.budget = budget;
13
+ }
14
+ }
15
+ export class RepositoryIntegrityError extends Error {
16
+ name = "RepositoryIntegrityError";
17
+ constructor() {
18
+ super("Stored knowledge data is inconsistent");
19
+ }
20
+ }
21
+ /** Snapshots data properties only; no getters, sparse arrays, or JSON coercion. */
22
+ export function canonicalJson(value) {
23
+ const ancestors = new Set();
24
+ let nodes = 0;
25
+ let characters = 0;
26
+ const reserve = (count) => {
27
+ characters += count;
28
+ if (characters > 2_000_000)
29
+ throw new TypeError("JSON data exceeds its encoded bound");
30
+ };
31
+ const visit = (item, depth = 0) => {
32
+ nodes += 1;
33
+ if (depth > 32 || nodes > 50_000)
34
+ throw new TypeError("JSON data exceeds its graph bound");
35
+ if (item === null ||
36
+ typeof item === "string" ||
37
+ typeof item === "boolean") {
38
+ if (typeof item === "string" && item.length > 500_000)
39
+ throw new TypeError("JSON string exceeds its bound");
40
+ const encoded = JSON.stringify(item);
41
+ reserve(encoded.length);
42
+ return encoded;
43
+ }
44
+ if (typeof item === "number" && Number.isFinite(item)) {
45
+ const encoded = String(item);
46
+ reserve(encoded.length);
47
+ return encoded;
48
+ }
49
+ if (typeof item !== "object" || item === null || ancestors.has(item)) {
50
+ throw new TypeError("Expected bounded JSON data properties");
51
+ }
52
+ ancestors.add(item);
53
+ try {
54
+ if (Object.getOwnPropertySymbols(item).length !== 0) {
55
+ throw new TypeError("Symbol properties are not JSON data");
56
+ }
57
+ const own = (key) => {
58
+ const property = Object.getOwnPropertyDescriptor(item, key);
59
+ if (property === undefined || !("value" in property)) {
60
+ throw new TypeError("Accessors and sparse arrays are not JSON data");
61
+ }
62
+ return property.value;
63
+ };
64
+ if (Array.isArray(item)) {
65
+ if (item.length > 4_096)
66
+ throw new TypeError("JSON array exceeds its bound");
67
+ if (Object.keys(item).length !== item.length) {
68
+ throw new TypeError("Arrays must be dense data without extra keys");
69
+ }
70
+ reserve(2 + item.length);
71
+ return ("[" +
72
+ Array.from({ length: item.length }, (_, i) => visit(own(String(i)), depth + 1)).join(",") +
73
+ "]");
74
+ }
75
+ if (![Object.prototype, null].includes(Object.getPrototypeOf(item))) {
76
+ throw new TypeError("Only plain JSON objects are supported");
77
+ }
78
+ const names = Object.keys(item);
79
+ if (names.length > 4_096)
80
+ throw new TypeError("JSON object exceeds its bound");
81
+ reserve(2 + names.length);
82
+ return ("{" +
83
+ names
84
+ .sort()
85
+ .map((key) => {
86
+ if (key.length > 500_000)
87
+ throw new TypeError("JSON property exceeds its bound");
88
+ const encoded = JSON.stringify(key);
89
+ reserve(encoded.length + 1);
90
+ return encoded + ":" + visit(own(key), depth + 1);
91
+ })
92
+ .join(",") +
93
+ "}");
94
+ }
95
+ finally {
96
+ ancestors.delete(item);
97
+ }
98
+ };
99
+ return visit(value);
100
+ }
101
+ export function snapshotData(value) {
102
+ return JSON.parse(canonicalJson(value));
103
+ }
104
+ export async function fingerprint(value) {
105
+ const bytes = new TextEncoder().encode(canonicalJson(value));
106
+ const digest = await crypto.subtle.digest("SHA-256", bytes);
107
+ return Array.from(new Uint8Array(digest), (value) => value.toString(16).padStart(2, "0")).join("");
108
+ }
109
+ export const commandFingerprint = fingerprint;
110
+ export function requireIdentifier(value, field = "identifier") {
111
+ if (typeof value !== "string" ||
112
+ value.length === 0 ||
113
+ value.length > 200 ||
114
+ value.trim() !== value ||
115
+ /[\u0000-\u001f\u007f]/u.test(value)) {
116
+ throw new TypeError(field + " must be bounded nonempty text");
117
+ }
118
+ for (let index = 0; index < value.length; index += 1) {
119
+ const unit = value.charCodeAt(index);
120
+ if (unit >= 0xd800 && unit <= 0xdbff) {
121
+ const next = value.charCodeAt(index + 1);
122
+ if (!(next >= 0xdc00 && next <= 0xdfff))
123
+ throw new TypeError(field + " must be well-formed Unicode");
124
+ index += 1;
125
+ }
126
+ else if (unit >= 0xdc00 && unit <= 0xdfff)
127
+ throw new TypeError(field + " must be well-formed Unicode");
128
+ }
129
+ }
130
+ export function requireGeneration(value, minimum = 0) {
131
+ if (!Number.isSafeInteger(value) || value < minimum) {
132
+ throw new TypeError("Expected a safe resource generation");
133
+ }
134
+ }
135
+ export function encodedBytes(record) {
136
+ return new TextEncoder().encode(canonicalJson(record)).length;
137
+ }
138
+ //# sourceMappingURL=storage-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-helpers.js","sourceRoot":"","sources":["../src/storage-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,280 @@
1
+ import type { AccessContext } from "@pegma/authorization-core";
2
+ import type { Applicability, ApprovalBinding, Article, ArticleContent, ArticleKind, ArticleRevision, Clock, Collection, CollectionUse, IsoTimestamp, PrincipalId, ValidationPolicy, ValidationPolicyReference, VerificationEvidence } from "@pegma/knowledge-base-contracts";
3
+ import type { ArticleDraft, CollectionPolicyPreview, EvidenceSubmission } from "@pegma/knowledge-base-core";
4
+ import type { Store } from "@pegma/storage-core";
5
+ import type { KnowledgeRepositoryLimits } from "./repository.js";
6
+ import type { KnowledgeRetrievalApplication, KnowledgeRetrievalOptions } from "./retrieval-types.js";
7
+ /** Opaque source identity only: no URL, source body, customer text, or credential. */
8
+ export interface PrivateSourceReference {
9
+ readonly id: string;
10
+ readonly system: string;
11
+ readonly resourceId: string;
12
+ readonly version: string;
13
+ }
14
+ /** Hash and generation are computed by the application, never supplied as proof. */
15
+ export interface SourceSnapshot {
16
+ readonly generation: number;
17
+ readonly references: readonly PrivateSourceReference[];
18
+ readonly hash: string;
19
+ }
20
+ /** Trusted configuration stored with, and versioned by, the collection head. */
21
+ export interface GovernanceConfiguration {
22
+ readonly validationPolicy: ValidationPolicyReference;
23
+ readonly expectedStagingBuildId: string;
24
+ readonly trustedAttesterIds: readonly PrincipalId[];
25
+ }
26
+ /** The complete application review fence, in addition to the pure core binding. */
27
+ export interface ReviewSnapshot {
28
+ readonly articleGeneration: number;
29
+ readonly binding: ApprovalBinding;
30
+ readonly sourceSnapshotHash: string;
31
+ readonly sourceGeneration: number;
32
+ readonly governanceGeneration: number;
33
+ }
34
+ /** Immutable revocation identifies a historical version, including its revision. */
35
+ export interface EvidenceRevocation {
36
+ readonly articleRevision: number;
37
+ readonly id: string;
38
+ readonly version: number;
39
+ readonly hash: string;
40
+ readonly reason: string;
41
+ readonly revokedBy: PrincipalId;
42
+ readonly revokedAt: IsoTimestamp;
43
+ }
44
+ export interface EvidenceVerificationRequest {
45
+ readonly access: AccessContext;
46
+ readonly article: ArticleRevision;
47
+ readonly submission: EvidenceSubmission;
48
+ /** Host-defined receipt. It is never treated as an attester identity by KB. */
49
+ readonly receipt: string;
50
+ readonly configuration: GovernanceConfiguration;
51
+ }
52
+ export interface EvidenceVerifier {
53
+ /** Authenticate the receipt and its complete submission/actor/target binding. */
54
+ verify(request: EvidenceVerificationRequest): Promise<VerificationEvidence["attestation"] | null>;
55
+ }
56
+ export interface SourceReadRequest {
57
+ readonly access: AccessContext;
58
+ readonly articleId: string;
59
+ readonly reference: PrivateSourceReference;
60
+ }
61
+ export interface SourceEligibilityRequest {
62
+ readonly article: ArticleRevision;
63
+ readonly snapshot: SourceSnapshot;
64
+ }
65
+ /**
66
+ * The host owns source-resource authorization and resolution/revocation facts.
67
+ * These checks do not grant any KB permission or expose source bodies.
68
+ */
69
+ export interface PrivateSourcesVerifier {
70
+ canRead(request: SourceReadRequest): Promise<boolean>;
71
+ canPublish(request: SourceEligibilityRequest): Promise<boolean>;
72
+ isCurrent(request: SourceEligibilityRequest): Promise<boolean>;
73
+ }
74
+ export interface KnowledgeBaseApplicationOptions {
75
+ readonly store: Store;
76
+ readonly clock: Clock;
77
+ readonly limits?: Partial<KnowledgeRepositoryLimits>;
78
+ readonly retrieval?: KnowledgeRetrievalOptions;
79
+ /** Missing verifier fails closed for every evidence submission. */
80
+ readonly evidenceVerifier?: EvidenceVerifier;
81
+ /** Missing verifier fails closed wherever a nonempty source snapshot is needed. */
82
+ readonly privateSources?: PrivateSourcesVerifier;
83
+ }
84
+ export type KnowledgeBaseServiceOptions = Omit<KnowledgeBaseApplicationOptions, "store" | "retrieval">;
85
+ export interface CommandInput {
86
+ readonly commandId: string;
87
+ readonly correlationId: string;
88
+ /** Aggregate state generation, independent of immutable content revision. */
89
+ readonly expectedGeneration: number;
90
+ }
91
+ /**
92
+ * A historical bounded acknowledgement. Replaying it does not promise that the
93
+ * acknowledged content or authority is still current; use a current read.
94
+ */
95
+ export interface CommandResult<T> {
96
+ readonly value: T;
97
+ readonly replayed: boolean;
98
+ }
99
+ export interface ResourceAcknowledgement {
100
+ readonly id: string;
101
+ readonly generation: number;
102
+ }
103
+ export interface CollectionAcknowledgement extends ResourceAcknowledgement {
104
+ readonly policyVersion: number;
105
+ }
106
+ export interface ValidationPolicyAcknowledgement extends ResourceAcknowledgement {
107
+ readonly version: number;
108
+ }
109
+ export interface ArticleAcknowledgement extends ResourceAcknowledgement {
110
+ readonly articleRevision: number;
111
+ readonly state: Article["state"];
112
+ readonly contentHash: string;
113
+ }
114
+ /** Staff metadata, including policy/reviewer identities; not a portal DTO. */
115
+ export interface CollectionDto {
116
+ readonly generation: number;
117
+ readonly collection: Collection;
118
+ }
119
+ export interface ValidationPolicyDto {
120
+ readonly generation: number;
121
+ readonly policy: ValidationPolicy;
122
+ }
123
+ export interface GovernanceConfigurationDto {
124
+ readonly collectionId: string;
125
+ readonly generation: number;
126
+ readonly configuration: GovernanceConfiguration;
127
+ }
128
+ /** Author-facing active checks, with no trusted runner or attester identities. */
129
+ export interface ValidationRequirementsDto {
130
+ readonly collectionId: string;
131
+ readonly governanceGeneration: number;
132
+ readonly validationPolicy: ValidationPolicyReference;
133
+ readonly expectedStagingBuildId: string;
134
+ readonly checks: readonly {
135
+ readonly id: string;
136
+ readonly testKind: string;
137
+ readonly maxAgeMilliseconds: number;
138
+ }[];
139
+ }
140
+ /** Draft material only. Evidence, provenance, and reviewer records are separate. */
141
+ export interface DraftArticleDto {
142
+ readonly articleId: string;
143
+ readonly generation: number;
144
+ readonly state: Article["state"];
145
+ readonly revision: ArticleRevision;
146
+ readonly hasPendingReview: boolean;
147
+ readonly hasPublication: boolean;
148
+ readonly publicationHeld: boolean;
149
+ }
150
+ export interface EvidenceDto {
151
+ readonly articleId: string;
152
+ readonly generation: number;
153
+ readonly evidence: readonly VerificationEvidence[];
154
+ readonly revokedEvidence: readonly EvidenceRevocation[];
155
+ }
156
+ export interface ProvenanceDto {
157
+ readonly articleId: string;
158
+ readonly generation: number;
159
+ readonly snapshot: SourceSnapshot;
160
+ readonly publishedSnapshot?: SourceSnapshot;
161
+ }
162
+ export interface ReviewDto {
163
+ readonly articleId: string;
164
+ readonly generation: number;
165
+ readonly review: ReviewSnapshot;
166
+ }
167
+ /** Explicit portal-safe content. No actor, evidence, source, or review fields. */
168
+ export interface PublishedArticleDto {
169
+ readonly articleId: string;
170
+ readonly collectionId: string;
171
+ readonly revision: number;
172
+ readonly kind: ArticleKind;
173
+ readonly title: string;
174
+ readonly summary: string;
175
+ readonly content: ArticleContent;
176
+ readonly tags: readonly string[];
177
+ readonly applicability: Applicability;
178
+ readonly contentHash: string;
179
+ }
180
+ export interface CollectionPolicyPreviewDto {
181
+ readonly generation: number;
182
+ readonly preview: CollectionPolicyPreview;
183
+ }
184
+ export interface CreateCollectionInput extends CommandInput {
185
+ readonly collectionId: string;
186
+ readonly name: string;
187
+ }
188
+ export interface PreviewCollectionPolicyInput {
189
+ readonly collectionId: string;
190
+ readonly uses: {
191
+ readonly portal: CollectionUse;
192
+ readonly bot: CollectionUse;
193
+ };
194
+ }
195
+ export interface UpdateCollectionPolicyInput extends CommandInput {
196
+ readonly collectionId: string;
197
+ readonly preview: CollectionPolicyPreview;
198
+ /** Explicit approval still requires the current public-approval permission. */
199
+ readonly approvePublic?: boolean;
200
+ }
201
+ export interface PutValidationPolicyInput extends CommandInput {
202
+ readonly policy: ValidationPolicy;
203
+ }
204
+ export interface PutGovernanceConfigurationInput extends CommandInput {
205
+ readonly collectionId: string;
206
+ readonly configuration: GovernanceConfiguration;
207
+ }
208
+ export interface CreateDraftInput extends CommandInput {
209
+ readonly articleId: string;
210
+ readonly collectionId: string;
211
+ readonly draft: ArticleDraft;
212
+ }
213
+ export interface UpdateDraftInput extends CommandInput {
214
+ readonly articleId: string;
215
+ readonly collectionId: string;
216
+ readonly draft: ArticleDraft;
217
+ }
218
+ export interface SubmitEvidenceInput extends CommandInput {
219
+ readonly articleId: string;
220
+ readonly evidence: EvidenceSubmission;
221
+ readonly receipt: string;
222
+ }
223
+ export interface ArticleCommandInput extends CommandInput {
224
+ readonly articleId: string;
225
+ }
226
+ export interface PublishArticleInput extends ArticleCommandInput {
227
+ readonly review: ReviewSnapshot;
228
+ }
229
+ export interface RejectReviewInput extends ArticleCommandInput {
230
+ readonly reason: string;
231
+ }
232
+ export interface SetProvenanceInput extends ArticleCommandInput {
233
+ readonly references: readonly PrivateSourceReference[];
234
+ }
235
+ export interface RevokeEvidenceInput extends ArticleCommandInput {
236
+ readonly articleRevision: number;
237
+ readonly evidenceId: string;
238
+ readonly evidenceVersion: number;
239
+ readonly evidenceHash: string;
240
+ readonly reason: string;
241
+ }
242
+ export interface CollectionReadInput {
243
+ readonly collectionId: string;
244
+ }
245
+ export interface ValidationPolicyReadInput {
246
+ readonly policyId: string;
247
+ }
248
+ export interface ValidationRequirementsReadInput {
249
+ readonly collectionId: string;
250
+ readonly kind: ArticleKind;
251
+ }
252
+ export interface ArticleReadInput {
253
+ readonly articleId: string;
254
+ }
255
+ export interface KnowledgeBaseApplication extends KnowledgeRetrievalApplication {
256
+ createCollection(access: AccessContext, input: CreateCollectionInput): Promise<CommandResult<CollectionAcknowledgement>>;
257
+ previewCollectionPolicy(access: AccessContext, input: PreviewCollectionPolicyInput): Promise<CollectionPolicyPreviewDto>;
258
+ updateCollectionPolicy(access: AccessContext, input: UpdateCollectionPolicyInput): Promise<CommandResult<CollectionAcknowledgement>>;
259
+ putValidationPolicy(access: AccessContext, input: PutValidationPolicyInput): Promise<CommandResult<ValidationPolicyAcknowledgement>>;
260
+ putGovernanceConfiguration(access: AccessContext, input: PutGovernanceConfigurationInput): Promise<CommandResult<CollectionAcknowledgement>>;
261
+ createDraft(access: AccessContext, input: CreateDraftInput): Promise<CommandResult<ArticleAcknowledgement>>;
262
+ updateDraft(access: AccessContext, input: UpdateDraftInput): Promise<CommandResult<ArticleAcknowledgement>>;
263
+ submitEvidence(access: AccessContext, input: SubmitEvidenceInput): Promise<CommandResult<ArticleAcknowledgement>>;
264
+ submitForReview(access: AccessContext, input: ArticleCommandInput): Promise<CommandResult<ArticleAcknowledgement>>;
265
+ publishArticle(access: AccessContext, input: PublishArticleInput): Promise<CommandResult<ArticleAcknowledgement>>;
266
+ rejectReview(access: AccessContext, input: RejectReviewInput): Promise<CommandResult<ArticleAcknowledgement>>;
267
+ retireArticle(access: AccessContext, input: ArticleCommandInput): Promise<CommandResult<ArticleAcknowledgement>>;
268
+ setProvenance(access: AccessContext, input: SetProvenanceInput): Promise<CommandResult<ArticleAcknowledgement>>;
269
+ revokeEvidence(access: AccessContext, input: RevokeEvidenceInput): Promise<CommandResult<ArticleAcknowledgement>>;
270
+ getCollection(access: AccessContext, input: CollectionReadInput): Promise<CollectionDto>;
271
+ getValidationPolicy(access: AccessContext, input: ValidationPolicyReadInput): Promise<ValidationPolicyDto>;
272
+ getGovernanceConfiguration(access: AccessContext, input: CollectionReadInput): Promise<GovernanceConfigurationDto>;
273
+ getValidationRequirements(access: AccessContext, input: ValidationRequirementsReadInput): Promise<ValidationRequirementsDto>;
274
+ getDraft(access: AccessContext, input: ArticleReadInput): Promise<DraftArticleDto>;
275
+ getEvidence(access: AccessContext, input: ArticleReadInput): Promise<EvidenceDto>;
276
+ getProvenance(access: AccessContext, input: ArticleReadInput): Promise<ProvenanceDto>;
277
+ getReview(access: AccessContext, input: ArticleReadInput): Promise<ReviewDto>;
278
+ getPublishedArticle(access: AccessContext, input: ArticleReadInput): Promise<PublishedArticleDto>;
279
+ }
280
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,44 @@
1
1
  {
2
2
  "name": "@pegma/knowledge-base-application",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "Authorized knowledge authoring, evidence, review, and publication over Pegma storage.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "files": [
12
+ "dist/**/*.d.ts",
13
+ "dist/**/*.d.ts.map",
14
+ "dist/**/*.js",
15
+ "dist/**/*.js.map"
16
+ ],
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
+ }
22
+ },
23
+ "engines": {
24
+ "node": ">=22"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/pegma-dev/knowledge-base.git",
29
+ "directory": "packages/application"
30
+ },
31
+ "dependencies": {
32
+ "@pegma/audit": "0.2.0",
33
+ "@pegma/authorization-core": "0.4.0",
34
+ "@pegma/knowledge-base-contracts": "0.1.0",
35
+ "@pegma/knowledge-base-core": "0.1.0",
36
+ "@pegma/spine": "0.1.2",
37
+ "@pegma/storage-core": "0.4.0"
38
+ },
39
+ "scripts": {
40
+ "build": "tsc -p tsconfig.json",
41
+ "check": "tsc -p tsconfig.json --noEmit",
42
+ "prepack": "pnpm run --silent build"
43
+ }
44
+ }