@powerhousedao/reactor 4.1.0-dev.4 → 4.1.0-dev.41

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 (61) hide show
  1. package/dist/bench/end-to-end-flow.bench.js +21 -11
  2. package/dist/bench/end-to-end-flow.bench.js.map +1 -1
  3. package/dist/bench/event-bus.bench.js +7 -7
  4. package/dist/bench/event-bus.bench.js.map +1 -1
  5. package/dist/bench/queue-only.bench.js +8 -3
  6. package/dist/bench/queue-only.bench.js.map +1 -1
  7. package/dist/bench/reactor-throughput.bench.js +18 -8
  8. package/dist/bench/reactor-throughput.bench.js.map +1 -1
  9. package/dist/src/executor/job-executor.d.ts +5 -5
  10. package/dist/src/executor/job-executor.d.ts.map +1 -1
  11. package/dist/src/executor/job-executor.js +1 -1
  12. package/dist/src/executor/job-executor.js.map +1 -1
  13. package/dist/src/index.d.ts +4 -1
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +3 -0
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/interfaces/reactor.d.ts +121 -0
  18. package/dist/src/interfaces/reactor.d.ts.map +1 -0
  19. package/dist/src/interfaces/reactor.js +2 -0
  20. package/dist/src/interfaces/reactor.js.map +1 -0
  21. package/dist/src/queue/queue.d.ts +3 -3
  22. package/dist/src/queue/queue.d.ts.map +1 -1
  23. package/dist/src/queue/queue.js.map +1 -1
  24. package/dist/src/queue/types.d.ts +1 -1
  25. package/dist/src/queue/types.d.ts.map +1 -1
  26. package/dist/src/reactor.d.ts +99 -0
  27. package/dist/src/reactor.d.ts.map +1 -0
  28. package/dist/src/reactor.js +607 -0
  29. package/dist/src/reactor.js.map +1 -0
  30. package/dist/src/shared/factories.d.ts +16 -0
  31. package/dist/src/shared/factories.d.ts.map +1 -0
  32. package/dist/src/shared/factories.js +33 -0
  33. package/dist/src/shared/factories.js.map +1 -0
  34. package/dist/src/shared/types.d.ts +83 -19
  35. package/dist/src/shared/types.d.ts.map +1 -1
  36. package/dist/src/shared/types.js +30 -1
  37. package/dist/src/shared/types.js.map +1 -1
  38. package/dist/src/shared/utils.d.ts +3 -0
  39. package/dist/src/shared/utils.d.ts.map +1 -0
  40. package/dist/src/shared/utils.js +8 -0
  41. package/dist/src/shared/utils.js.map +1 -0
  42. package/dist/src/utils.d.ts +11 -0
  43. package/dist/src/utils.d.ts.map +1 -0
  44. package/dist/src/utils.js +29 -0
  45. package/dist/src/utils.js.map +1 -0
  46. package/dist/test/event-bus.test.js +4 -4
  47. package/dist/test/event-bus.test.js.map +1 -1
  48. package/dist/test/job-executor.test.js +9 -3
  49. package/dist/test/job-executor.test.js.map +1 -1
  50. package/dist/test/queue.test.js +17 -6
  51. package/dist/test/queue.test.js.map +1 -1
  52. package/dist/test/reactor.test.d.ts +2 -0
  53. package/dist/test/reactor.test.d.ts.map +1 -0
  54. package/dist/test/reactor.test.js +445 -0
  55. package/dist/test/reactor.test.js.map +1 -0
  56. package/dist/test/utils.test.d.ts +2 -0
  57. package/dist/test/utils.test.d.ts.map +1 -0
  58. package/dist/test/utils.test.js +66 -0
  59. package/dist/test/utils.test.js.map +1 -0
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG;IAChB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IAEX,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IAEnB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,SAAS,EAAE,SAAS,CAAC;IAErB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;CAElB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG;IAChB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IAEX,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IAEnB,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,SAAS,EAAE,SAAS,CAAC;IAErB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;CAElB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -0,0 +1,99 @@
1
+ import type { BaseDocumentDriveServer } from "document-drive";
2
+ import type { Action, DocumentModelState, Operation, PHDocument } from "document-model";
3
+ import type { IReactor } from "./interfaces/reactor.js";
4
+ import { JobStatus, type JobInfo, type PagedResults, type PagingOptions, type PropagationMode, type SearchFilter, type ShutdownStatus, type ViewFilter } from "./shared/types.js";
5
+ /**
6
+ * The Reactor facade implementation.
7
+ *
8
+ * This class implements the IReactor interface and serves as the main entry point
9
+ * for the new Reactor architecture. In Phase 2 of the refactoring plan, it acts
10
+ * as a facade over the existing BaseDocumentDriveServer while we incrementally
11
+ * migrate to the new architecture.
12
+ *
13
+ * The facade pattern allows us to:
14
+ * 1. Present the new IReactor API to clients immediately
15
+ * 2. Internally delegate to the refactored BaseDocumentDriveServer (post Phase 1)
16
+ * 3. Incrementally replace internal implementations without breaking clients
17
+ * 4. Validate the new architecture alongside the existing system
18
+ */
19
+ export declare class Reactor implements IReactor {
20
+ private driveServer;
21
+ private shutdownStatus;
22
+ private setShutdown;
23
+ constructor(driveServer: BaseDocumentDriveServer);
24
+ /**
25
+ * Signals that the reactor should shutdown.
26
+ */
27
+ kill(): ShutdownStatus;
28
+ /**
29
+ * Retrieves a list of document model specifications
30
+ */
31
+ getDocumentModels(namespace?: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<DocumentModelState>>;
32
+ /**
33
+ * Retrieves a specific PHDocument by id
34
+ */
35
+ get<TDocument extends PHDocument>(id: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
36
+ document: TDocument;
37
+ childIds: string[];
38
+ }>;
39
+ /**
40
+ * Retrieves a specific PHDocument by slug
41
+ */
42
+ getBySlug<TDocument extends PHDocument>(slug: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
43
+ document: TDocument;
44
+ childIds: string[];
45
+ }>;
46
+ /**
47
+ * Retrieves the operations for a document
48
+ */
49
+ getOperations(documentId: string, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<Record<string, PagedResults<Operation>>>;
50
+ /**
51
+ * Filters documents by criteria and returns a list of them
52
+ */
53
+ find(search: SearchFilter, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<PHDocument>>;
54
+ /**
55
+ * Creates a document
56
+ */
57
+ create(document: PHDocument, signal?: AbortSignal): Promise<JobStatus>;
58
+ /**
59
+ * Deletes a document
60
+ */
61
+ deleteDocument(id: string, propagate?: PropagationMode, signal?: AbortSignal): Promise<JobInfo>;
62
+ /**
63
+ * Applies a list of actions to a document
64
+ */
65
+ mutate(id: string, actions: Action[]): Promise<JobInfo>;
66
+ /**
67
+ * Adds multiple documents as children to another
68
+ */
69
+ addChildren(parentId: string, documentIds: string[], view?: ViewFilter, signal?: AbortSignal): Promise<JobInfo>;
70
+ /**
71
+ * Removes multiple documents as children from another
72
+ */
73
+ removeChildren(parentId: string, documentIds: string[], view?: ViewFilter, signal?: AbortSignal): Promise<JobInfo>;
74
+ /**
75
+ * Retrieves the status of a job
76
+ */
77
+ getJobStatus(jobId: string, signal?: AbortSignal): Promise<JobInfo>;
78
+ /**
79
+ * Finds documents by their IDs
80
+ */
81
+ private findByIds;
82
+ /**
83
+ * Finds documents by their slugs
84
+ */
85
+ private findBySlugs;
86
+ /**
87
+ * Finds all documents
88
+ */
89
+ private findAll;
90
+ /**
91
+ * Finds documents by parent ID
92
+ */
93
+ private findByParentId;
94
+ /**
95
+ * Finds documents by type
96
+ */
97
+ private findByType;
98
+ }
99
+ //# sourceMappingURL=reactor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"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"}