@powerhousedao/reactor 5.0.0-staging.9 → 5.0.1-staging.1
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.
- package/dist/src/cache/buffer/ring-buffer.d.ts +37 -0
- package/dist/src/cache/buffer/ring-buffer.d.ts.map +1 -0
- package/dist/src/cache/buffer/ring-buffer.js +69 -0
- package/dist/src/cache/buffer/ring-buffer.js.map +1 -0
- package/dist/src/cache/kysely-write-cache.d.ts +133 -0
- package/dist/src/cache/kysely-write-cache.d.ts.map +1 -0
- package/dist/src/cache/kysely-write-cache.js +375 -0
- package/dist/src/cache/kysely-write-cache.js.map +1 -0
- package/dist/src/cache/lru/lru-tracker.d.ts +15 -0
- package/dist/src/cache/lru/lru-tracker.d.ts.map +1 -0
- package/dist/src/cache/lru/lru-tracker.js +96 -0
- package/dist/src/cache/lru/lru-tracker.js.map +1 -0
- package/dist/src/cache/types.d.ts +42 -0
- package/dist/src/cache/types.d.ts.map +1 -0
- package/dist/src/cache/types.js +2 -0
- package/dist/src/cache/types.js.map +1 -0
- package/dist/src/cache/write/interfaces.d.ts +83 -0
- package/dist/src/cache/write/interfaces.d.ts.map +1 -0
- package/dist/src/cache/write/interfaces.js +2 -0
- package/dist/src/cache/write/interfaces.js.map +1 -0
- package/dist/src/client/reactor-client.d.ts +103 -0
- package/dist/src/client/reactor-client.d.ts.map +1 -0
- package/dist/src/client/reactor-client.js +184 -0
- package/dist/src/client/reactor-client.js.map +1 -0
- package/dist/src/client/types.d.ts +213 -0
- package/dist/src/client/types.d.ts.map +1 -0
- package/dist/src/client/types.js +14 -0
- package/dist/src/client/types.js.map +1 -0
- package/dist/src/core/builder.d.ts +20 -0
- package/dist/src/core/builder.d.ts.map +1 -0
- package/dist/src/core/builder.js +47 -0
- package/dist/src/core/builder.js.map +1 -0
- package/dist/src/{reactor.d.ts → core/reactor.d.ts} +13 -30
- package/dist/src/core/reactor.d.ts.map +1 -0
- package/dist/src/{reactor.js → core/reactor.js} +147 -111
- package/dist/src/core/reactor.js.map +1 -0
- package/dist/src/{interfaces/reactor.d.ts → core/types.d.ts} +7 -7
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +2 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/{utils.d.ts → core/utils.d.ts} +2 -2
- package/dist/src/core/utils.d.ts.map +1 -0
- package/dist/src/core/utils.js.map +1 -0
- package/dist/src/events/event-bus.d.ts +2 -2
- package/dist/src/events/event-bus.d.ts.map +1 -1
- package/dist/src/events/event-bus.js +1 -1
- package/dist/src/events/event-bus.js.map +1 -1
- package/dist/src/events/interfaces.d.ts +1 -1
- package/dist/src/events/interfaces.d.ts.map +1 -1
- package/dist/src/events/types.d.ts +14 -0
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/events/types.js +6 -0
- package/dist/src/events/types.js.map +1 -1
- package/dist/src/executor/interfaces.d.ts +2 -2
- package/dist/src/executor/interfaces.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts +5 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.js +98 -36
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts +32 -3
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +436 -17
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/executor/types.d.ts +10 -3
- package/dist/src/executor/types.d.ts.map +1 -1
- package/dist/src/executor/types.js.map +1 -1
- package/dist/src/executor/util.d.ts +47 -0
- package/dist/src/executor/util.d.ts.map +1 -0
- package/dist/src/executor/util.js +113 -0
- package/dist/src/executor/util.js.map +1 -0
- package/dist/src/index.d.ts +23 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +30 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts +15 -0
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -0
- package/dist/src/job-tracker/in-memory-job-tracker.js +78 -0
- package/dist/src/job-tracker/in-memory-job-tracker.js.map +1 -0
- package/dist/src/job-tracker/index.d.ts +3 -0
- package/dist/src/job-tracker/index.d.ts.map +1 -0
- package/dist/src/job-tracker/index.js +2 -0
- package/dist/src/job-tracker/index.js.map +1 -0
- package/dist/src/job-tracker/interfaces.d.ts +41 -0
- package/dist/src/job-tracker/interfaces.d.ts.map +1 -0
- package/dist/src/job-tracker/interfaces.js +2 -0
- package/dist/src/job-tracker/interfaces.js.map +1 -0
- package/dist/src/queue/interfaces.d.ts +1 -1
- package/dist/src/queue/interfaces.d.ts.map +1 -1
- package/dist/src/queue/job-execution-handle.d.ts +2 -1
- package/dist/src/queue/job-execution-handle.d.ts.map +1 -1
- package/dist/src/queue/job-execution-handle.js.map +1 -1
- package/dist/src/queue/queue.d.ts +3 -3
- package/dist/src/queue/queue.d.ts.map +1 -1
- package/dist/src/queue/queue.js +47 -25
- package/dist/src/queue/queue.js.map +1 -1
- package/dist/src/queue/types.d.ts +7 -5
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/queue/types.js.map +1 -1
- package/dist/src/read-models/coordinator.d.ts +38 -0
- package/dist/src/read-models/coordinator.d.ts.map +1 -0
- package/dist/src/read-models/coordinator.js +62 -0
- package/dist/src/read-models/coordinator.js.map +1 -0
- package/dist/src/read-models/document-view.d.ts +20 -0
- package/dist/src/read-models/document-view.d.ts.map +1 -0
- package/dist/src/read-models/document-view.js +365 -0
- package/dist/src/read-models/document-view.js.map +1 -0
- package/dist/src/read-models/interfaces.d.ts +29 -0
- package/dist/src/read-models/interfaces.d.ts.map +1 -0
- package/dist/src/read-models/interfaces.js +2 -0
- package/dist/src/read-models/interfaces.js.map +1 -0
- package/dist/src/read-models/types.d.ts +46 -0
- package/dist/src/read-models/types.d.ts.map +1 -0
- package/dist/src/read-models/types.js +2 -0
- package/dist/src/read-models/types.js.map +1 -0
- package/dist/src/registry/implementation.js +1 -1
- package/dist/src/registry/implementation.js.map +1 -1
- package/dist/src/shared/awaiter.d.ts +32 -0
- package/dist/src/shared/awaiter.d.ts.map +1 -0
- package/dist/src/shared/awaiter.js +132 -0
- package/dist/src/shared/awaiter.js.map +1 -0
- package/dist/src/shared/errors.d.ts +17 -0
- package/dist/src/shared/errors.d.ts.map +1 -0
- package/dist/src/shared/errors.js +33 -0
- package/dist/src/shared/errors.js.map +1 -0
- package/dist/src/shared/factories.d.ts +1 -1
- package/dist/src/shared/factories.d.ts.map +1 -1
- package/dist/src/shared/types.d.ts +8 -0
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js +5 -0
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/signer/passthrough-signer.d.ts +6 -0
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
- package/dist/src/signer/passthrough-signer.js +6 -0
- package/dist/src/signer/passthrough-signer.js.map +1 -0
- package/dist/src/signer/types.d.ts +15 -0
- package/dist/src/signer/types.d.ts.map +1 -0
- package/dist/src/signer/types.js +2 -0
- package/dist/src/signer/types.js.map +1 -0
- package/dist/src/storage/interfaces.d.ts +121 -0
- package/dist/src/storage/interfaces.d.ts.map +1 -0
- package/dist/src/storage/interfaces.js +19 -0
- package/dist/src/storage/interfaces.js.map +1 -0
- package/dist/src/storage/kysely/keyframe-store.d.ts +15 -0
- package/dist/src/storage/kysely/keyframe-store.d.ts.map +1 -0
- package/dist/src/storage/kysely/keyframe-store.js +71 -0
- package/dist/src/storage/kysely/keyframe-store.js.map +1 -0
- package/dist/src/storage/kysely/store.d.ts +15 -0
- package/dist/src/storage/kysely/store.d.ts.map +1 -0
- package/dist/src/storage/kysely/store.js +196 -0
- package/dist/src/storage/kysely/store.js.map +1 -0
- package/dist/src/storage/kysely/types.d.ts +39 -0
- package/dist/src/storage/kysely/types.d.ts.map +1 -0
- package/dist/src/storage/kysely/types.js +2 -0
- package/dist/src/storage/kysely/types.js.map +1 -0
- package/dist/src/storage/txn.d.ts +15 -0
- package/dist/src/storage/txn.d.ts.map +1 -0
- package/dist/src/storage/txn.js +41 -0
- package/dist/src/storage/txn.js.map +1 -0
- package/dist/src/subs/default-error-handler.d.ts +13 -0
- package/dist/src/subs/default-error-handler.d.ts.map +1 -0
- package/dist/src/subs/default-error-handler.js +27 -0
- package/dist/src/subs/default-error-handler.js.map +1 -0
- package/dist/src/subs/react-subscription-manager.d.ts +45 -0
- package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
- package/dist/src/subs/react-subscription-manager.js +185 -0
- package/dist/src/subs/react-subscription-manager.js.map +1 -0
- package/dist/src/subs/types.d.ts +64 -0
- package/dist/src/subs/types.d.ts.map +1 -0
- package/dist/src/subs/types.js +2 -0
- package/dist/src/subs/types.js.map +1 -0
- package/dist/src/utils/reshuffle.d.ts +30 -0
- package/dist/src/utils/reshuffle.d.ts.map +1 -0
- package/dist/src/utils/reshuffle.js +47 -0
- package/dist/src/utils/reshuffle.js.map +1 -0
- package/package.json +15 -9
- package/dist/bench/event-bus.bench.d.ts +0 -2
- package/dist/bench/event-bus.bench.d.ts.map +0 -1
- package/dist/bench/event-bus.bench.js +0 -228
- package/dist/bench/event-bus.bench.js.map +0 -1
- package/dist/bench/queue-only.bench.d.ts +0 -2
- package/dist/bench/queue-only.bench.d.ts.map +0 -1
- package/dist/bench/queue-only.bench.js +0 -46
- package/dist/bench/queue-only.bench.js.map +0 -1
- package/dist/bench/reactor-throughput.bench.d.ts +0 -2
- package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
- package/dist/bench/reactor-throughput.bench.js +0 -144
- package/dist/bench/reactor-throughput.bench.js.map +0 -1
- package/dist/src/interfaces/reactor.d.ts.map +0 -1
- package/dist/src/interfaces/reactor.js +0 -2
- package/dist/src/interfaces/reactor.js.map +0 -1
- package/dist/src/reactor.d.ts.map +0 -1
- package/dist/src/reactor.js.map +0 -1
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js.map +0 -1
- package/dist/test/event-bus.test.d.ts +0 -2
- package/dist/test/event-bus.test.d.ts.map +0 -1
- package/dist/test/event-bus.test.js +0 -541
- package/dist/test/event-bus.test.js.map +0 -1
- package/dist/test/executor/executor-integration.test.d.ts +0 -2
- package/dist/test/executor/executor-integration.test.d.ts.map +0 -1
- package/dist/test/executor/executor-integration.test.js +0 -287
- package/dist/test/executor/executor-integration.test.js.map +0 -1
- package/dist/test/executor/job-execution-handle.test.d.ts +0 -2
- package/dist/test/executor/job-execution-handle.test.d.ts.map +0 -1
- package/dist/test/executor/job-execution-handle.test.js +0 -272
- package/dist/test/executor/job-execution-handle.test.js.map +0 -1
- package/dist/test/executor/simple-job-executor-manager.test.d.ts +0 -2
- package/dist/test/executor/simple-job-executor-manager.test.d.ts.map +0 -1
- package/dist/test/executor/simple-job-executor-manager.test.js +0 -132
- package/dist/test/executor/simple-job-executor-manager.test.js.map +0 -1
- package/dist/test/executor/simple-job-executor.test.d.ts +0 -2
- package/dist/test/executor/simple-job-executor.test.d.ts.map +0 -1
- package/dist/test/executor/simple-job-executor.test.js +0 -139
- package/dist/test/executor/simple-job-executor.test.js.map +0 -1
- package/dist/test/factories.d.ts +0 -122
- package/dist/test/factories.d.ts.map +0 -1
- package/dist/test/factories.js +0 -319
- package/dist/test/factories.js.map +0 -1
- package/dist/test/integration/document-drive-integration.test.d.ts +0 -2
- package/dist/test/integration/document-drive-integration.test.d.ts.map +0 -1
- package/dist/test/integration/document-drive-integration.test.js +0 -1102
- package/dist/test/integration/document-drive-integration.test.js.map +0 -1
- package/dist/test/integration/reactor-read.test.d.ts +0 -2
- package/dist/test/integration/reactor-read.test.d.ts.map +0 -1
- package/dist/test/integration/reactor-read.test.js +0 -300
- package/dist/test/integration/reactor-read.test.js.map +0 -1
- package/dist/test/queue/queue-integration.test.d.ts +0 -2
- package/dist/test/queue/queue-integration.test.d.ts.map +0 -1
- package/dist/test/queue/queue-integration.test.js +0 -322
- package/dist/test/queue/queue-integration.test.js.map +0 -1
- package/dist/test/queue/queue.test.d.ts +0 -2
- package/dist/test/queue/queue.test.d.ts.map +0 -1
- package/dist/test/queue/queue.test.js +0 -770
- package/dist/test/queue/queue.test.js.map +0 -1
- package/dist/test/registry/registry.test.d.ts +0 -2
- package/dist/test/registry/registry.test.d.ts.map +0 -1
- package/dist/test/registry/registry.test.js +0 -182
- package/dist/test/registry/registry.test.js.map +0 -1
- package/dist/test/utils.test.d.ts +0 -2
- package/dist/test/utils.test.d.ts.map +0 -1
- package/dist/test/utils.test.js +0 -66
- package/dist/test/utils.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -11
- package/dist/vitest.config.js.map +0 -1
- /package/dist/src/{utils.js → core/utils.js} +0 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import type { Action, DocumentModelModule, PHDocument } from "document-model";
|
|
2
|
+
import type { JobInfo, PagedResults, PagingOptions, PropagationMode, SearchFilter, ViewFilter } from "../shared/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Describes the types of document changes that can occur.
|
|
5
|
+
*/
|
|
6
|
+
export declare enum DocumentChangeType {
|
|
7
|
+
Created = "created",
|
|
8
|
+
Deleted = "deleted",
|
|
9
|
+
Updated = "updated",
|
|
10
|
+
ParentAdded = "parent_added",
|
|
11
|
+
ParentRemoved = "parent_removed",
|
|
12
|
+
ChildAdded = "child_added",
|
|
13
|
+
ChildRemoved = "child_removed"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Represents a change event for documents.
|
|
17
|
+
*/
|
|
18
|
+
export type DocumentChangeEvent = {
|
|
19
|
+
type: DocumentChangeType;
|
|
20
|
+
documents: PHDocument[];
|
|
21
|
+
context?: {
|
|
22
|
+
parentId?: string;
|
|
23
|
+
childId?: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* The ReactorClient interface that wraps lower-level APIs to provide
|
|
28
|
+
* a simpler interface for document operations.
|
|
29
|
+
*
|
|
30
|
+
* Features:
|
|
31
|
+
* - Wraps Jobs with Promises for easier async handling
|
|
32
|
+
* - Manages signing of submitted Action objects
|
|
33
|
+
* - Provides quality-of-life functions for common tasks
|
|
34
|
+
* - Wraps subscription interface with ViewFilters
|
|
35
|
+
*/
|
|
36
|
+
export interface IReactorClient {
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves a list of document model modules.
|
|
39
|
+
*
|
|
40
|
+
* @param namespace - Optional namespace like "powerhouse" or "sky", defaults to ""
|
|
41
|
+
* @param paging - Optional pagination options
|
|
42
|
+
* @param signal - Optional abort signal to cancel the request
|
|
43
|
+
* @returns List of document model modules
|
|
44
|
+
*/
|
|
45
|
+
getDocumentModels(namespace?: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<DocumentModelModule>>;
|
|
46
|
+
/**
|
|
47
|
+
* Retrieves a specific PHDocument
|
|
48
|
+
*
|
|
49
|
+
* @param identifier - Required, this is either a document "id" field or a "slug"
|
|
50
|
+
* @param view - Optional filter containing branch and scopes information
|
|
51
|
+
* @param signal - Optional abort signal to cancel the request
|
|
52
|
+
* @returns The up-to-date PHDocument with scopes and list of child document ids
|
|
53
|
+
*/
|
|
54
|
+
get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
|
|
55
|
+
document: TDocument;
|
|
56
|
+
childIds: string[];
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* Retrieves children of a document.
|
|
60
|
+
*
|
|
61
|
+
* @param parentIdentifier - Required, this is either a document "id" field or a "slug"
|
|
62
|
+
* @param view - Optional filter containing branch and scopes information
|
|
63
|
+
* @param paging - Optional pagination options
|
|
64
|
+
* @param signal - Optional abort signal to cancel the request
|
|
65
|
+
* @returns The up-to-date PHDocument and paging cursor
|
|
66
|
+
*/
|
|
67
|
+
getChildren(parentIdentifier: string, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<PHDocument>>;
|
|
68
|
+
/**
|
|
69
|
+
* Retrieves parents of a document.
|
|
70
|
+
*
|
|
71
|
+
* @param childIdentifier - Required, this is either a document "id" field or a "slug"
|
|
72
|
+
* @param view - Optional filter containing branch and scopes information
|
|
73
|
+
* @param paging - Optional pagination options
|
|
74
|
+
* @param signal - Optional abort signal to cancel the request
|
|
75
|
+
* @returns The up-to-date PHDocument and paging cursor
|
|
76
|
+
*/
|
|
77
|
+
getParents(childIdentifier: string, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<PHDocument>>;
|
|
78
|
+
/**
|
|
79
|
+
* Filters documents by criteria and returns a list of them
|
|
80
|
+
*
|
|
81
|
+
* @param search - Search filter options (type, parentId, identifiers)
|
|
82
|
+
* @param view - Optional filter containing branch and scopes information
|
|
83
|
+
* @param paging - Optional pagination options
|
|
84
|
+
* @param signal - Optional abort signal to cancel the request
|
|
85
|
+
* @returns List of documents matching criteria and pagination cursor
|
|
86
|
+
*/
|
|
87
|
+
find(search: SearchFilter, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<PHDocument>>;
|
|
88
|
+
/**
|
|
89
|
+
* Creates a document and waits for completion
|
|
90
|
+
*
|
|
91
|
+
* @param document - Document with optional id, slug, parent, model type, and initial state
|
|
92
|
+
* @param parentIdentifier - Optional "id" or "slug" of parent document
|
|
93
|
+
* @param signal - Optional abort signal to cancel the request
|
|
94
|
+
* @returns The created document
|
|
95
|
+
*/
|
|
96
|
+
create(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<PHDocument>;
|
|
97
|
+
/**
|
|
98
|
+
* Creates an empty document and waits for completion
|
|
99
|
+
*
|
|
100
|
+
* @param documentType - Type of document to create.
|
|
101
|
+
* @param parentIdentifier - Optional "id" or "slug" of parent document
|
|
102
|
+
* @param signal - Optional abort signal to cancel the request
|
|
103
|
+
*/
|
|
104
|
+
createEmpty<TDocument extends PHDocument>(documentType: string, parentIdentifier?: string, signal?: AbortSignal): Promise<TDocument>;
|
|
105
|
+
/**
|
|
106
|
+
* Applies a list of actions to a document and waits for completion
|
|
107
|
+
*
|
|
108
|
+
* @param documentIdentifier - Target document id or slug
|
|
109
|
+
* @param actions - List of actions to apply
|
|
110
|
+
* @param view - Optional filter containing branch and scopes information
|
|
111
|
+
* @param signal - Optional abort signal to cancel the request
|
|
112
|
+
* @returns The updated document
|
|
113
|
+
*/
|
|
114
|
+
mutate<TDocument extends PHDocument>(documentIdentifier: string, actions: Action[], view?: ViewFilter, signal?: AbortSignal): Promise<TDocument>;
|
|
115
|
+
/**
|
|
116
|
+
* Submits a list of actions to a document
|
|
117
|
+
*
|
|
118
|
+
* @param documentIdentifier - Target document id or slug
|
|
119
|
+
* @param actions - List of actions to apply
|
|
120
|
+
* @param view - Optional filter containing branch and scopes information
|
|
121
|
+
* @param signal - Optional abort signal to cancel the request
|
|
122
|
+
* @returns The job
|
|
123
|
+
*/
|
|
124
|
+
mutateAsync(documentIdentifier: string, actions: Action[], view?: ViewFilter, signal?: AbortSignal): Promise<JobInfo>;
|
|
125
|
+
/**
|
|
126
|
+
* Renames a document and waits for completion
|
|
127
|
+
*
|
|
128
|
+
* @param documentIdentifier - Target document id or slug
|
|
129
|
+
* @param name - The new name of the document
|
|
130
|
+
* @param view - Optional filter
|
|
131
|
+
* @param signal - Optional abort signal to cancel the request
|
|
132
|
+
* @returns The updated document.
|
|
133
|
+
*/
|
|
134
|
+
rename(documentIdentifier: string, name: string, view?: ViewFilter, signal?: AbortSignal): Promise<PHDocument>;
|
|
135
|
+
/**
|
|
136
|
+
* Adds multiple documents as children to another and waits for completion
|
|
137
|
+
*
|
|
138
|
+
* @param parentIdentifier - Parent document id or slug
|
|
139
|
+
* @param documentIdentifiers - List of document identifiers to add as children
|
|
140
|
+
* @param view - Optional filter containing branch and scopes information
|
|
141
|
+
* @param signal - Optional abort signal to cancel the request
|
|
142
|
+
* @returns The updated parent document
|
|
143
|
+
*/
|
|
144
|
+
addChildren(parentIdentifier: string, documentIdentifiers: string[], view?: ViewFilter, signal?: AbortSignal): Promise<PHDocument>;
|
|
145
|
+
/**
|
|
146
|
+
* Removes multiple documents as children from another and waits for completion
|
|
147
|
+
*
|
|
148
|
+
* @param parentIdentifier - Parent document identifiers
|
|
149
|
+
* @param documentIdentifiers - List of document ids to remove as children
|
|
150
|
+
* @param view - Optional filter containing branch and scopes information
|
|
151
|
+
* @param signal - Optional abort signal to cancel the request
|
|
152
|
+
* @returns The updated parent document
|
|
153
|
+
*/
|
|
154
|
+
removeChildren(parentIdentifier: string, documentIdentifiers: string[], view?: ViewFilter, signal?: AbortSignal): Promise<PHDocument>;
|
|
155
|
+
/**
|
|
156
|
+
* Moves multiple documents from one parent to another and waits for completion
|
|
157
|
+
*
|
|
158
|
+
* @param sourceParentIdentifier - Source parent document id or slug
|
|
159
|
+
* @param targetParentIdentifier - Target parent document id or slug
|
|
160
|
+
* @param documentIdentifiers - List of document identifiers to move
|
|
161
|
+
* @param view - Optional filter containing branch and scopes information
|
|
162
|
+
* @param signal - Optional abort signal to cancel the request
|
|
163
|
+
* @returns The updated source and target documents
|
|
164
|
+
*/
|
|
165
|
+
moveChildren(sourceParentIdentifier: string, targetParentIdentifier: string, documentIdentifiers: string[], view?: ViewFilter, signal?: AbortSignal): Promise<{
|
|
166
|
+
source: PHDocument;
|
|
167
|
+
target: PHDocument;
|
|
168
|
+
}>;
|
|
169
|
+
/**
|
|
170
|
+
* Deletes a document and waits for completion
|
|
171
|
+
*
|
|
172
|
+
* @param identifier - Document identifier (id or slug)
|
|
173
|
+
* @param propagate - Optional mode for handling children, CASCADE deletes child documents
|
|
174
|
+
* @param signal - Optional abort signal to cancel the request
|
|
175
|
+
* @returns a promise, resolving on deletion confirmation
|
|
176
|
+
*/
|
|
177
|
+
deleteDocument(identifier: string, propagate?: PropagationMode, signal?: AbortSignal): Promise<void>;
|
|
178
|
+
/**
|
|
179
|
+
* Deletes documents and waits for completion
|
|
180
|
+
*
|
|
181
|
+
* @param identifiers - Document identifiers (ids or slugs)
|
|
182
|
+
* @param propagate - Optional mode for handling children, CASCADE deletes child documents
|
|
183
|
+
* @param signal - Optional abort signal to cancel the request
|
|
184
|
+
* @returns a promise, resolving on deletion confirmation
|
|
185
|
+
*/
|
|
186
|
+
deleteDocuments(identifiers: string[], propagate?: PropagationMode, signal?: AbortSignal): Promise<void>;
|
|
187
|
+
/**
|
|
188
|
+
* Retrieves the status of a job
|
|
189
|
+
*
|
|
190
|
+
* @param jobId - The job id
|
|
191
|
+
* @param signal - Optional abort signal to cancel the request
|
|
192
|
+
* @returns The job status
|
|
193
|
+
*/
|
|
194
|
+
getJobStatus(jobId: string, signal?: AbortSignal): Promise<JobInfo>;
|
|
195
|
+
/**
|
|
196
|
+
* Waits for a job to complete
|
|
197
|
+
*
|
|
198
|
+
* @param jobId - The job id or job object
|
|
199
|
+
* @param signal - Optional abort signal to cancel the request
|
|
200
|
+
* @returns The result of the job
|
|
201
|
+
*/
|
|
202
|
+
waitForJob(jobId: string | JobInfo, signal?: AbortSignal): Promise<JobInfo>;
|
|
203
|
+
/**
|
|
204
|
+
* Subscribes to changes for documents matching specified filters
|
|
205
|
+
*
|
|
206
|
+
* @param search - Search filter options (type, parentId, identifiers)
|
|
207
|
+
* @param callback - Function called when documents change with the change event details
|
|
208
|
+
* @param view - Optional filter containing branch and scopes information
|
|
209
|
+
* @returns A function that unsubscribes from the changes
|
|
210
|
+
*/
|
|
211
|
+
subscribe(search: SearchFilter, callback: (event: DocumentChangeEvent) => void, view?: ViewFilter): () => void;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Describes the types of document changes that can occur.
|
|
3
|
+
*/
|
|
4
|
+
export var DocumentChangeType;
|
|
5
|
+
(function (DocumentChangeType) {
|
|
6
|
+
DocumentChangeType["Created"] = "created";
|
|
7
|
+
DocumentChangeType["Deleted"] = "deleted";
|
|
8
|
+
DocumentChangeType["Updated"] = "updated";
|
|
9
|
+
DocumentChangeType["ParentAdded"] = "parent_added";
|
|
10
|
+
DocumentChangeType["ParentRemoved"] = "parent_removed";
|
|
11
|
+
DocumentChangeType["ChildAdded"] = "child_added";
|
|
12
|
+
DocumentChangeType["ChildRemoved"] = "child_removed";
|
|
13
|
+
})(DocumentChangeType || (DocumentChangeType = {}));
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,CAAN,IAAY,kBAQX;AARD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,kDAA4B,CAAA;IAC5B,sDAAgC,CAAA;IAChC,gDAA0B,CAAA;IAC1B,oDAA8B,CAAA;AAChC,CAAC,EARW,kBAAkB,KAAlB,kBAAkB,QAQ7B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactorClient } from "../client/reactor-client.js";
|
|
2
|
+
import { type IJobAwaiter } from "../shared/awaiter.js";
|
|
3
|
+
import type { ISigner } from "../signer/types.js";
|
|
4
|
+
import type { IReactorSubscriptionManager } from "../subs/types.js";
|
|
5
|
+
import type { IReactor } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Builder class for constructing ReactorClient instances with proper configuration
|
|
8
|
+
*/
|
|
9
|
+
export declare class ReactorClientBuilder {
|
|
10
|
+
private reactor?;
|
|
11
|
+
private signer?;
|
|
12
|
+
private subscriptionManager?;
|
|
13
|
+
private jobAwaiter?;
|
|
14
|
+
withReactor(reactor: IReactor): this;
|
|
15
|
+
withSigner(signer: ISigner): this;
|
|
16
|
+
withSubscriptionManager(subscriptionManager: IReactorSubscriptionManager): this;
|
|
17
|
+
withJobAwaiter(jobAwaiter: IJobAwaiter): this;
|
|
18
|
+
build(): ReactorClient;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/core/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,mBAAmB,CAAC,CAA8B;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAc;IAE1B,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAKpC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKjC,uBAAuB,CAC5B,mBAAmB,EAAE,2BAA2B,GAC/C,IAAI;IAKA,cAAc,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAK7C,KAAK,IAAI,aAAa;CA6B9B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ReactorClient } from "../client/reactor-client.js";
|
|
2
|
+
import { JobAwaiter } from "../shared/awaiter.js";
|
|
3
|
+
import { PassthroughSigner } from "../signer/passthrough-signer.js";
|
|
4
|
+
import { DefaultSubscriptionErrorHandler } from "../subs/default-error-handler.js";
|
|
5
|
+
import { ReactorSubscriptionManager } from "../subs/react-subscription-manager.js";
|
|
6
|
+
/**
|
|
7
|
+
* Builder class for constructing ReactorClient instances with proper configuration
|
|
8
|
+
*/
|
|
9
|
+
export class ReactorClientBuilder {
|
|
10
|
+
reactor;
|
|
11
|
+
signer;
|
|
12
|
+
subscriptionManager;
|
|
13
|
+
jobAwaiter;
|
|
14
|
+
withReactor(reactor) {
|
|
15
|
+
this.reactor = reactor;
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
withSigner(signer) {
|
|
19
|
+
this.signer = signer;
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
withSubscriptionManager(subscriptionManager) {
|
|
23
|
+
this.subscriptionManager = subscriptionManager;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
withJobAwaiter(jobAwaiter) {
|
|
27
|
+
this.jobAwaiter = jobAwaiter;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
build() {
|
|
31
|
+
if (!this.reactor) {
|
|
32
|
+
throw new Error("Reactor is required to build ReactorClient");
|
|
33
|
+
}
|
|
34
|
+
if (!this.signer) {
|
|
35
|
+
this.signer = new PassthroughSigner();
|
|
36
|
+
}
|
|
37
|
+
// Use default SubscriptionManager with default error handler if not provided
|
|
38
|
+
if (!this.subscriptionManager) {
|
|
39
|
+
this.subscriptionManager = new ReactorSubscriptionManager(new DefaultSubscriptionErrorHandler());
|
|
40
|
+
}
|
|
41
|
+
if (!this.jobAwaiter) {
|
|
42
|
+
this.jobAwaiter = new JobAwaiter((jobId, signal) => this.reactor.getJobStatus(jobId, signal));
|
|
43
|
+
}
|
|
44
|
+
return new ReactorClient(this.reactor, this.signer, this.subscriptionManager, this.jobAwaiter);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/core/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAInF;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACvB,OAAO,CAAY;IACnB,MAAM,CAAW;IACjB,mBAAmB,CAA+B;IAClD,UAAU,CAAe;IAE1B,WAAW,CAAC,OAAiB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU,CAAC,MAAe;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,uBAAuB,CAC5B,mBAAgD;QAEhD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,UAAuB;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACxC,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,0BAA0B,CACvD,IAAI,+BAA+B,EAAE,CACtC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CACjD,IAAI,CAAC,OAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAC1C,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,35 +1,23 @@
|
|
|
1
|
-
import type { BaseDocumentDriveServer } from "document-drive";
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
8
|
-
import { JobStatus, type JobInfo, type PagedResults, type PagingOptions, type PropagationMode, type SearchFilter, type ShutdownStatus, type ViewFilter } from "./shared/types.js";
|
|
1
|
+
import type { BaseDocumentDriveServer, IDocumentStorage } from "document-drive";
|
|
2
|
+
import type { Action, DocumentModelModule, Operation, PHDocument } from "document-model";
|
|
3
|
+
import type { IJobTracker } from "../job-tracker/interfaces.js";
|
|
4
|
+
import type { IQueue } from "../queue/interfaces.js";
|
|
5
|
+
import type { IReadModelCoordinator } from "../read-models/interfaces.js";
|
|
6
|
+
import type { JobInfo, PagedResults, PagingOptions, PropagationMode, SearchFilter, ShutdownStatus, ViewFilter } from "../shared/types.js";
|
|
7
|
+
import type { IReactor } from "./types.js";
|
|
9
8
|
/**
|
|
10
|
-
* The Reactor facade implementation.
|
|
11
|
-
*
|
|
12
9
|
* This class implements the IReactor interface and serves as the main entry point
|
|
13
|
-
* for the new Reactor architecture.
|
|
14
|
-
* as a facade over the existing BaseDocumentDriveServer while we incrementally
|
|
15
|
-
* migrate to the new architecture.
|
|
16
|
-
*
|
|
17
|
-
* The facade pattern allows us to:
|
|
18
|
-
* 1. Present the new IReactor API to clients immediately
|
|
19
|
-
* 2. Internally delegate to the refactored BaseDocumentDriveServer (post Phase 1)
|
|
20
|
-
* 3. Incrementally replace internal implementations without breaking clients
|
|
21
|
-
* 4. Validate the new architecture alongside the existing system
|
|
10
|
+
* for the new Reactor architecture.
|
|
22
11
|
*/
|
|
23
12
|
export declare class Reactor implements IReactor {
|
|
24
13
|
private driveServer;
|
|
25
14
|
private documentStorage;
|
|
26
15
|
private shutdownStatus;
|
|
27
16
|
private setShutdown;
|
|
28
|
-
private eventBus;
|
|
29
17
|
private queue;
|
|
30
|
-
private
|
|
31
|
-
private
|
|
32
|
-
constructor(driveServer: BaseDocumentDriveServer, documentStorage: IDocumentStorage,
|
|
18
|
+
private jobTracker;
|
|
19
|
+
private readModelCoordinator;
|
|
20
|
+
constructor(driveServer: BaseDocumentDriveServer, documentStorage: IDocumentStorage, queue: IQueue, jobTracker: IJobTracker, readModelCoordinator: IReadModelCoordinator);
|
|
33
21
|
/**
|
|
34
22
|
* Signals that the reactor should shutdown.
|
|
35
23
|
*/
|
|
@@ -37,7 +25,7 @@ export declare class Reactor implements IReactor {
|
|
|
37
25
|
/**
|
|
38
26
|
* Retrieves a list of document model specifications
|
|
39
27
|
*/
|
|
40
|
-
getDocumentModels(namespace?: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<
|
|
28
|
+
getDocumentModels(namespace?: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<DocumentModelModule>>;
|
|
41
29
|
/**
|
|
42
30
|
* Retrieves a specific PHDocument by id
|
|
43
31
|
*/
|
|
@@ -63,7 +51,7 @@ export declare class Reactor implements IReactor {
|
|
|
63
51
|
/**
|
|
64
52
|
* Creates a document
|
|
65
53
|
*/
|
|
66
|
-
create(document: PHDocument, signal?: AbortSignal): Promise<
|
|
54
|
+
create(document: PHDocument, signal?: AbortSignal): Promise<JobInfo>;
|
|
67
55
|
/**
|
|
68
56
|
* Deletes a document
|
|
69
57
|
*/
|
|
@@ -84,11 +72,6 @@ export declare class Reactor implements IReactor {
|
|
|
84
72
|
* Retrieves the status of a job
|
|
85
73
|
*/
|
|
86
74
|
getJobStatus(jobId: string, signal?: AbortSignal): Promise<JobInfo>;
|
|
87
|
-
/**
|
|
88
|
-
* Starts the job executor if not already running.
|
|
89
|
-
* Called automatically when the first job is enqueued.
|
|
90
|
-
*/
|
|
91
|
-
private ensureJobExecutorRunning;
|
|
92
75
|
/**
|
|
93
76
|
* Finds documents by their IDs
|
|
94
77
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/core/reactor.ts"],"names":[],"mappings":"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"}
|