@docstack/client 0.1.5 → 0.1.6

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 (77) hide show
  1. package/LICENSE +10 -0
  2. package/README.md +1 -1
  3. package/lib/core/attribute.d.ts +11 -2
  4. package/lib/core/class.d.ts +29 -6
  5. package/lib/core/content-transfer.d.ts +178 -0
  6. package/lib/core/crypto-engine/index.d.ts +82 -1
  7. package/lib/core/crypto-engine/utils.d.ts +36 -1
  8. package/lib/core/datamodel/index.d.ts +16 -0
  9. package/lib/core/domain.d.ts +1 -1
  10. package/lib/core/guarded-db.d.ts +52 -0
  11. package/lib/core/index.d.ts +106 -1
  12. package/lib/core/policy-engine/index.d.ts +35 -0
  13. package/lib/core/query-engine/classes.d.ts +24 -0
  14. package/lib/core/query-engine/executor.d.ts +11 -0
  15. package/lib/core/query-engine/index.d.ts +2 -1
  16. package/lib/core/query-engine/planner.d.ts +19 -0
  17. package/lib/core/stack.d.ts +676 -7
  18. package/lib/core/sync/class-filter.d.ts +106 -0
  19. package/lib/core/sync/filter-identity.d.ts +53 -0
  20. package/lib/core/sync/index.d.ts +334 -0
  21. package/lib/core/sync/internal-docs.d.ts +159 -0
  22. package/lib/index.d.ts +27 -1
  23. package/lib/index.js +4976 -607
  24. package/lib/index.umd.js +5004 -621
  25. package/lib/plugins/pouchdb.d.ts +43 -3
  26. package/lib/utils/logger/index.d.ts +28 -4
  27. package/lib/utils/logger/transport.d.ts +52 -11
  28. package/package.json +18 -10
  29. package/lib/core/attribute.js +0 -406
  30. package/lib/core/attribute.js.map +0 -1
  31. package/lib/core/class.js +0 -774
  32. package/lib/core/class.js.map +0 -1
  33. package/lib/core/crypto-engine/index.js +0 -229
  34. package/lib/core/crypto-engine/index.js.map +0 -1
  35. package/lib/core/crypto-engine/utils.js +0 -88
  36. package/lib/core/crypto-engine/utils.js.map +0 -1
  37. package/lib/core/datamodel/index.js +0 -1308
  38. package/lib/core/datamodel/index.js.map +0 -1
  39. package/lib/core/domain.js +0 -423
  40. package/lib/core/domain.js.map +0 -1
  41. package/lib/core/index.js +0 -532
  42. package/lib/core/index.js.map +0 -1
  43. package/lib/core/job-engine/index.js +0 -220
  44. package/lib/core/job-engine/index.js.map +0 -1
  45. package/lib/core/policy-engine/index.js +0 -232
  46. package/lib/core/policy-engine/index.js.map +0 -1
  47. package/lib/core/query-engine/accumulators.js +0 -258
  48. package/lib/core/query-engine/accumulators.js.map +0 -1
  49. package/lib/core/query-engine/evaluator.js +0 -179
  50. package/lib/core/query-engine/evaluator.js.map +0 -1
  51. package/lib/core/query-engine/executor.js +0 -405
  52. package/lib/core/query-engine/executor.js.map +0 -1
  53. package/lib/core/query-engine/index.js +0 -4
  54. package/lib/core/query-engine/index.js.map +0 -1
  55. package/lib/core/query-engine/parser.js +0 -515
  56. package/lib/core/query-engine/parser.js.map +0 -1
  57. package/lib/core/query-engine/planner.js +0 -330
  58. package/lib/core/query-engine/planner.js.map +0 -1
  59. package/lib/core/stack.js +0 -1827
  60. package/lib/core/stack.js.map +0 -1
  61. package/lib/core/test-utils/docstack.js +0 -222
  62. package/lib/core/test-utils/docstack.js.map +0 -1
  63. package/lib/core/trigger/index.js +0 -81
  64. package/lib/core/trigger/index.js.map +0 -1
  65. package/lib/index.js.map +0 -1
  66. package/lib/plugins/pouchdb.js +0 -412
  67. package/lib/plugins/pouchdb.js.map +0 -1
  68. package/lib/utils/crypto/index.js +0 -34
  69. package/lib/utils/crypto/index.js.map +0 -1
  70. package/lib/utils/index.js +0 -58
  71. package/lib/utils/index.js.map +0 -1
  72. package/lib/utils/logger/index.js +0 -20
  73. package/lib/utils/logger/index.js.map +0 -1
  74. package/lib/utils/logger/transport.js +0 -28
  75. package/lib/utils/logger/transport.js.map +0 -1
  76. package/lib/workers/dataModel.js +0 -48
  77. package/lib/workers/dataModel.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/datamodel/index.ts"],"names":[],"mappings":"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"}
@@ -1,423 +0,0 @@
1
- var _a;
2
- import { Domain as Domain_ } from "@docstack/shared";
3
- import clientLogger from "../utils/logger/index.js";
4
- /**
5
- * Represents a relationship definition between two Classes in the DocStack database.
6
- *
7
- * A Domain defines how documents of different classes relate to each other,
8
- * supporting cardinality constraints (1:1, 1:N, N:1, N:N). Relation documents
9
- * are created to track the links between source and target documents.
10
- *
11
- * Use the static factory methods ({@link Domain.create}, {@link Domain.fetch}) to
12
- * instantiate domains - the constructor is private.
13
- *
14
- * @example
15
- * ```typescript
16
- * // Define a 1:N relationship between Projects and Tasks
17
- * const projectTaskDomain = await Domain.create(
18
- * stack,
19
- * null,
20
- * 'ProjectTasks',
21
- * 'domain',
22
- * '1:N',
23
- * projectClass,
24
- * taskClass
25
- * );
26
- *
27
- * // Create a relation between a project and a task
28
- * await projectTaskDomain.addRelation(taskDoc, 'Project-1');
29
- * ```
30
- *
31
- * @extends Domain_
32
- */
33
- class Domain extends Domain_ {
34
- constructor() {
35
- super();
36
- /** Current state indicating if the domain is processing an operation. */
37
- this.state = "idle";
38
- this.getStack = () => {
39
- return this.stack;
40
- };
41
- this.getName = () => {
42
- return this.name;
43
- };
44
- this.setId = (id) => {
45
- this.id = id;
46
- };
47
- this.setModel = (model) => {
48
- _a.logger.info("setModel - got incoming model", { model: model });
49
- // Retreive current class model
50
- let currentModel = this.getModel();
51
- // Set model arg to the overwrite of the current model with the given one
52
- model = Object.assign(currentModel, model);
53
- this.id = model._id;
54
- this.name = model.name;
55
- this.description = model.description;
56
- this.relation = model.relation;
57
- this.type = model["~class"];
58
- this.model = model;
59
- _a.logger.info("setModel - model after processing", { model: model });
60
- };
61
- this.build = () => {
62
- return new Promise(async (resolve, reject) => {
63
- let stack = this.getStack();
64
- if (stack) {
65
- let domainModel = await stack.addDomain(this);
66
- if (domainModel) {
67
- // Hydrate model
68
- this.setModel(domainModel);
69
- _a.logger.info("build - domainModel", { domainModel });
70
- this.setId(domainModel._id);
71
- resolve(this);
72
- }
73
- else {
74
- reject("Unable to get create domainModel. Check logs.");
75
- }
76
- }
77
- else {
78
- reject("Missing stack assignment");
79
- }
80
- });
81
- };
82
- this.init = (stack, id, name, type, relation, sourceClass, targetClass, description) => {
83
- if (stack) {
84
- this.stack = stack;
85
- }
86
- this.name = name;
87
- this.id = id;
88
- this.description = description;
89
- this.type = type;
90
- this.relation = relation;
91
- this.sourceClass = sourceClass;
92
- this.targetClass = targetClass;
93
- this.setModel({
94
- "~class": type, _id: id, active: true,
95
- name, relation, sourceClass: sourceClass.id,
96
- targetClass: targetClass.id, description,
97
- });
98
- this.logger = clientLogger(this.stack).child({ module: "domain", domainName: this.name });
99
- };
100
- /**
101
- * Returns the current DomainModel representation of this domain.
102
- * @returns The DomainModel document
103
- */
104
- this.getModel = () => {
105
- let model = {
106
- _id: this.id,
107
- name: this.name,
108
- description: this.description,
109
- "~class": this.type,
110
- relation: this.relation,
111
- sourceClass: this.sourceClass.id,
112
- targetClass: this.targetClass.id,
113
- active: true,
114
- _rev: this.model ? this.model._rev : "",
115
- "~createTimestamp": this.model ? this.model["~createTimestamp"] : undefined,
116
- };
117
- return model;
118
- };
119
- this.requireStack = () => {
120
- if (!this.stack) {
121
- throw new Error(`Stack is not defined for Domain ${this.name}`);
122
- }
123
- return this.stack;
124
- };
125
- this.getDocumentRole = (doc) => {
126
- if (doc["~class"] === this.sourceClass.getName()) {
127
- return "source";
128
- }
129
- if (doc["~class"] === this.targetClass.getName()) {
130
- return "target";
131
- }
132
- throw new Error(`Document of type '${doc["~class"]}' is not part of domain '${this.name}'.`);
133
- };
134
- this.assertReferenceAllowed = (role) => {
135
- switch (this.relation) {
136
- case "1:N":
137
- if (role !== "target") {
138
- throw new Error(`Documents of class '${this.sourceClass}' cannot hold reference attributes for domain '${this.name}'.`);
139
- }
140
- break;
141
- case "N:1":
142
- if (role !== "source") {
143
- throw new Error(`Documents of class '${this.targetClass}' cannot hold reference attributes for domain '${this.name}'.`);
144
- }
145
- break;
146
- case "1:1":
147
- break;
148
- case "N:N":
149
- throw new Error(`Domain '${this.name}' does not support reference attributes.`);
150
- default:
151
- throw new Error(`Unsupported relation type ${this.relation}`);
152
- }
153
- };
154
- this.buildRelationParams = (doc, referenceId, role) => {
155
- if (!doc._id) {
156
- throw new Error("Document is missing identifier.");
157
- }
158
- if (typeof referenceId !== "string" || referenceId.length === 0) {
159
- throw new Error(`Invalid reference value provided for domain '${this.name}'.`);
160
- }
161
- if (role === "source") {
162
- return {
163
- sourceClass: this.sourceClass.id,
164
- targetClass: this.targetClass.id,
165
- sourceId: doc._id,
166
- targetId: referenceId
167
- };
168
- }
169
- return {
170
- sourceClass: this.sourceClass.id,
171
- targetClass: this.targetClass.id,
172
- sourceId: referenceId,
173
- targetId: doc._id
174
- };
175
- };
176
- this.fetchReferenceDocument = async (referenceId, expectedType) => {
177
- const stack = this.requireStack();
178
- const referenceDoc = await stack.db.get(referenceId).catch(() => null);
179
- if (!referenceDoc || referenceDoc["~class"] !== expectedType || referenceDoc.active === false) {
180
- throw new Error(`Reference '${referenceId}' does not exist for class '${expectedType}'.`);
181
- }
182
- return referenceDoc;
183
- };
184
- this.findRelationDoc = async (selector) => {
185
- const stack = this.requireStack();
186
- const searchSelector = Object.assign({ "~domain": { $eq: this.name } }, selector);
187
- const { docs } = await stack.findDocuments(searchSelector, undefined, 0, 1);
188
- return docs[0] || null;
189
- };
190
- this.throwIfRelationExists = async (filter, params) => {
191
- const relation = await this.findRelationDoc(filter);
192
- if (relation) {
193
- if (relation.sourceId === params.sourceId && relation.targetId === params.targetId) {
194
- return relation;
195
- }
196
- throw new Error(`Domain '${this.name}' already contains a relation that violates cardinality constraints.`);
197
- }
198
- return null;
199
- };
200
- this.ensureCardinalityConstraints = async (params) => {
201
- switch (this.relation) {
202
- case "1:1":
203
- await this.throwIfRelationExists({ sourceId: { $eq: params.sourceId } }, params);
204
- await this.throwIfRelationExists({ targetId: { $eq: params.targetId } }, params);
205
- break;
206
- case "1:N":
207
- await this.throwIfRelationExists({ targetId: { $eq: params.targetId } }, params);
208
- break;
209
- case "N:1":
210
- await this.throwIfRelationExists({ sourceId: { $eq: params.sourceId } }, params);
211
- break;
212
- }
213
- };
214
- this.validateRelation = async (doc, referenceId) => {
215
- const fnLogger = this.logger.child({ method: "validateRelation", args: { docId: doc._id, referenceId } });
216
- const role = this.getDocumentRole(doc);
217
- this.assertReferenceAllowed(role);
218
- const expectedType = role === "source" ? this.targetClass.getName() : this.sourceClass.getName();
219
- await this.fetchReferenceDocument(referenceId, expectedType);
220
- const params = this.buildRelationParams(doc, referenceId, role);
221
- const existing = await this.findRelationDoc({
222
- sourceId: { $eq: params.sourceId },
223
- targetId: { $eq: params.targetId },
224
- });
225
- if (existing) {
226
- fnLogger.info("validateRelation - relation already exists");
227
- return { params, exists: true, relation: existing };
228
- }
229
- await this.ensureCardinalityConstraints(params);
230
- return { params, exists: false };
231
- };
232
- /**
233
- * Retrieves relation documents for this domain.
234
- *
235
- * @param selector - Optional PouchDB/Mango selector for filtering
236
- * @param fields - Optional list of fields to return
237
- * @param skip - Number of documents to skip
238
- * @param limit - Maximum number of documents to return
239
- * @returns Array of matching relation documents
240
- *
241
- * @example
242
- * ```typescript
243
- * // Get all relations
244
- * const allRelations = await domain.getRelations();
245
- *
246
- * // Get relations for a specific source
247
- * const projectRelations = await domain.getRelations({ sourceId: { $eq: 'Project-1' } });
248
- * ```
249
- */
250
- this.getRelations = async (selector, fields, skip, limit) => {
251
- const stack = this.requireStack();
252
- const _selector = Object.assign(Object.assign({}, (selector || {})), { "~domain": { $eq: this.name } });
253
- _a.logger.info("getRelations - selector", { selector: _selector, fields, skip, limit });
254
- const docs = (await stack.findDocuments(_selector, fields, skip, limit)).docs;
255
- return docs;
256
- };
257
- /**
258
- * Creates a relation between documents.
259
- * Validates cardinality constraints before creating the relation.
260
- *
261
- * @param document - The document to link (source or target based on role)
262
- * @param referenceId - The ID of the document to link to
263
- * @returns The created relation document, or existing relation if already exists
264
- *
265
- * @example
266
- * ```typescript
267
- * // Link a task to a project (assuming 1:N from Project to Task)
268
- * const relation = await projectTaskDomain.addRelation(taskDoc, 'Project-1');
269
- * ```
270
- */
271
- this.addRelation = async (document, referenceId) => {
272
- const fnLogger = this.logger.child({ method: "addRelation", args: { document, referenceId } });
273
- const stack = this.requireStack();
274
- const validation = await this.validateRelation(document, referenceId);
275
- if (validation.exists) {
276
- fnLogger.info("addRelation - relation already in place");
277
- return validation.relation || null;
278
- }
279
- fnLogger.info("addRelation - relation validated");
280
- const relationDoc = await stack.createRelationDoc(null, this.name, this, validation.params);
281
- fnLogger.info("addRelation - relationDoc created", { relationDoc });
282
- return relationDoc;
283
- };
284
- /**
285
- * Deletes a relation between two documents by their IDs.
286
- *
287
- * @param sourceId - The source document ID
288
- * @param targetId - The target document ID
289
- * @returns `true` if deleted, `false` if relation not found
290
- */
291
- this.deleteRelation = async (sourceId, targetId) => {
292
- const relation = await this.findRelationDoc({
293
- sourceId: { $eq: sourceId },
294
- targetId: { $eq: targetId },
295
- });
296
- if (!relation || !relation._id) {
297
- return false;
298
- }
299
- return this.requireStack().deleteDocument(relation._id);
300
- };
301
- /**
302
- * Deletes a relation document by its ID.
303
- *
304
- * @param relationDocId - The relation document ID to delete
305
- * @returns `true` if deleted successfully
306
- */
307
- this.deleteRelationDoc = async (relationDocId) => {
308
- return this.requireStack().deleteDocument(relationDocId);
309
- };
310
- }
311
- }
312
- _a = Domain;
313
- Domain.logger = clientLogger().child({ module: "domain" });
314
- /**
315
- * Gets a Domain instance without persisting it to the database.
316
- * Use this for working with existing domain models or for testing.
317
- * Sets up a document change listener for real-time updates.
318
- *
319
- * @param stack - The parent stack instance
320
- * @param id - The domain ID (or null for new domains)
321
- * @param name - The domain name
322
- * @param type - The domain type (typically 'domain')
323
- * @param relation - The cardinality constraint
324
- * @param sourceClass - The source Class in the relationship
325
- * @param targetClass - The target Class in the relationship
326
- * @param description - Optional description
327
- * @param schema - Optional schema definition
328
- * @returns A new Domain instance (not persisted)
329
- */
330
- Domain.get = (stack, id, name, type, relation, sourceClass, targetClass, description, schema = {}) => {
331
- const domain_ = new _a();
332
- _a.logger.info("Received schema", { schema });
333
- domain_.init(stack, id, name, type, relation, sourceClass, targetClass, description);
334
- // Add listener for new documents of this class type
335
- domain_.stack.onClassDoc(name)
336
- .on("change", (change) => {
337
- const evt = new CustomEvent("doc", {
338
- detail: change
339
- });
340
- domain_.dispatchEvent(evt);
341
- });
342
- return domain_;
343
- };
344
- /**
345
- * Creates a new domain and persists it to the database.
346
- * This is the primary factory method for creating new domains.
347
- *
348
- * @param stack - The parent stack instance
349
- * @param id - The domain ID (typically null for auto-generation)
350
- * @param name - The name for the new domain
351
- * @param type - The domain type (typically 'domain')
352
- * @param relation - The cardinality constraint: '1:1', '1:N', 'N:1', or 'N:N'
353
- * @param sourceClass - The source Class in the relationship
354
- * @param targetClass - The target Class in the relationship
355
- * @param description - Optional description of the domain
356
- * @param schema - Optional schema definition
357
- * @returns The persisted Domain instance
358
- *
359
- * @example
360
- * ```typescript
361
- * const domain = await Domain.create(
362
- * stack, null, 'UserProjects', 'domain', '1:N',
363
- * userClass, projectClass, 'Users can have many projects'
364
- * );
365
- * ```
366
- */
367
- Domain.create = async (stack, id, name, type, relation, sourceClass, targetClass, description, schema = {}) => {
368
- const domain_ = _a.get(stack, null, name, type, relation, sourceClass, targetClass, description, schema);
369
- await domain_.build();
370
- return domain_;
371
- };
372
- /**
373
- * Builds a Domain instance from an existing DomainModel document.
374
- * Fetches the source and target classes and hydrates the domain.
375
- *
376
- * @param stack - The parent stack instance
377
- * @param domainModel - The DomainModel document from the database
378
- * @returns The hydrated Domain instance
379
- * @throws Error if source or target class is not found
380
- */
381
- Domain.buildFromModel = async (stack, domainModel) => {
382
- _a.logger.info("buildFromModel - Instantiate from model", { domainModel });
383
- const sourceClass = await stack.getClass(domainModel.sourceClass);
384
- const targetClass = await stack.getClass(domainModel.targetClass);
385
- if (!sourceClass || !targetClass) {
386
- throw new Error("Source or target class not found for domain " + domainModel.name);
387
- }
388
- if (domainModel._rev) {
389
- let classObj = _a.get(stack, domainModel._id, domainModel.name, domainModel["~class"], domainModel.relation, sourceClass, targetClass, domainModel.description, domainModel.schema);
390
- return classObj;
391
- }
392
- else {
393
- let classObj = await _a.create(stack, domainModel._id, domainModel.name, domainModel["~class"], domainModel.relation, sourceClass, targetClass, domainModel.description, domainModel.schema);
394
- return classObj;
395
- }
396
- };
397
- /**
398
- * Fetches a domain by its name.
399
- * This is the most common way to retrieve an existing domain.
400
- *
401
- * @param stack - The parent stack instance
402
- * @param domainName - The domain name to fetch
403
- * @returns The Domain instance, or `null` if not found
404
- *
405
- * @example
406
- * ```typescript
407
- * const domain = await Domain.fetch(stack, 'ProjectTasks');
408
- * if (domain) {
409
- * const relations = await domain.getRelations();
410
- * }
411
- * ```
412
- */
413
- Domain.fetch = async (stack, domainName) => {
414
- let domainModel = await stack.getDomainModel(domainName);
415
- if (domainModel) {
416
- return _a.buildFromModel(stack, domainModel);
417
- }
418
- else {
419
- return null;
420
- }
421
- };
422
- export default Domain;
423
- //# sourceMappingURL=domain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/core/domain.ts"],"names":[],"mappings":"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"}