solid-objects 0.12.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.
- package/CHANGELOG.md +110 -0
- package/MIT-LICENSE +19 -0
- package/README.md +958 -0
- package/dist/actor.d.ts +81 -0
- package/dist/actor.d.ts.map +1 -0
- package/dist/actor.js +141 -0
- package/dist/actor.js.map +1 -0
- package/dist/application-database.d.ts +3 -0
- package/dist/application-database.d.ts.map +1 -0
- package/dist/application-database.js +59 -0
- package/dist/application-database.js.map +1 -0
- package/dist/broadcast-worker.d.ts +18 -0
- package/dist/broadcast-worker.d.ts.map +1 -0
- package/dist/broadcast-worker.js +74 -0
- package/dist/broadcast-worker.js.map +1 -0
- package/dist/browser/components.d.ts +64 -0
- package/dist/browser/components.d.ts.map +1 -0
- package/dist/browser/components.js +294 -0
- package/dist/browser/components.js.map +1 -0
- package/dist/browser/index.d.ts +46 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +207 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +216 -0
- package/dist/cli.js.map +1 -0
- package/dist/configuration.d.ts +96 -0
- package/dist/configuration.d.ts.map +1 -0
- package/dist/configuration.js +169 -0
- package/dist/configuration.js.map +1 -0
- package/dist/context.d.ts +20 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +24 -0
- package/dist/context.js.map +1 -0
- package/dist/database/deadline.d.ts +9 -0
- package/dist/database/deadline.d.ts.map +1 -0
- package/dist/database/deadline.js +49 -0
- package/dist/database/deadline.js.map +1 -0
- package/dist/database/mysql.d.ts +21 -0
- package/dist/database/mysql.d.ts.map +1 -0
- package/dist/database/mysql.js +192 -0
- package/dist/database/mysql.js.map +1 -0
- package/dist/database/postgresql-sql.d.ts +2 -0
- package/dist/database/postgresql-sql.d.ts.map +1 -0
- package/dist/database/postgresql-sql.js +102 -0
- package/dist/database/postgresql-sql.js.map +1 -0
- package/dist/database/postgresql.d.ts +31 -0
- package/dist/database/postgresql.d.ts.map +1 -0
- package/dist/database/postgresql.js +172 -0
- package/dist/database/postgresql.js.map +1 -0
- package/dist/database/sqlite.d.ts +27 -0
- package/dist/database/sqlite.d.ts.map +1 -0
- package/dist/database/sqlite.js +190 -0
- package/dist/database/sqlite.js.map +1 -0
- package/dist/database/transaction-context.d.ts +3 -0
- package/dist/database/transaction-context.d.ts.map +1 -0
- package/dist/database/transaction-context.js +19 -0
- package/dist/database/transaction-context.js.map +1 -0
- package/dist/database/types.d.ts +20 -0
- package/dist/database/types.d.ts.map +1 -0
- package/dist/database/types.js +2 -0
- package/dist/database/types.js.map +1 -0
- package/dist/dead-letters.d.ts +23 -0
- package/dist/dead-letters.d.ts.map +1 -0
- package/dist/dead-letters.js +13 -0
- package/dist/dead-letters.js.map +1 -0
- package/dist/default-runtime.d.ts +5 -0
- package/dist/default-runtime.d.ts.map +1 -0
- package/dist/default-runtime.js +14 -0
- package/dist/default-runtime.js.map +1 -0
- package/dist/definition.d.ts +32 -0
- package/dist/definition.d.ts.map +1 -0
- package/dist/definition.js +173 -0
- package/dist/definition.js.map +1 -0
- package/dist/doctor.d.ts +32 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +500 -0
- package/dist/doctor.js.map +1 -0
- package/dist/effect-worker.d.ts +18 -0
- package/dist/effect-worker.d.ts.map +1 -0
- package/dist/effect-worker.js +74 -0
- package/dist/effect-worker.js.map +1 -0
- package/dist/errors.d.ts +145 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +120 -0
- package/dist/errors.js.map +1 -0
- package/dist/executable.d.ts +3 -0
- package/dist/executable.d.ts.map +1 -0
- package/dist/executable.js +12 -0
- package/dist/executable.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/maintenance-scheduler.d.ts +17 -0
- package/dist/maintenance-scheduler.d.ts.map +1 -0
- package/dist/maintenance-scheduler.js +41 -0
- package/dist/maintenance-scheduler.js.map +1 -0
- package/dist/process-administration.d.ts +30 -0
- package/dist/process-administration.d.ts.map +1 -0
- package/dist/process-administration.js +13 -0
- package/dist/process-administration.js.map +1 -0
- package/dist/realtime.d.ts +33 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +238 -0
- package/dist/realtime.js.map +1 -0
- package/dist/reconciliation.d.ts +41 -0
- package/dist/reconciliation.d.ts.map +1 -0
- package/dist/reconciliation.js +19 -0
- package/dist/reconciliation.js.map +1 -0
- package/dist/records.d.ts +137 -0
- package/dist/records.d.ts.map +1 -0
- package/dist/records.js +2 -0
- package/dist/records.js.map +1 -0
- package/dist/reference.d.ts +97 -0
- package/dist/reference.d.ts.map +1 -0
- package/dist/reference.js +157 -0
- package/dist/reference.js.map +1 -0
- package/dist/reminder-administration.d.ts +35 -0
- package/dist/reminder-administration.d.ts.map +1 -0
- package/dist/reminder-administration.js +13 -0
- package/dist/reminder-administration.js.map +1 -0
- package/dist/reminder-scheduler.d.ts +18 -0
- package/dist/reminder-scheduler.d.ts.map +1 -0
- package/dist/reminder-scheduler.js +88 -0
- package/dist/reminder-scheduler.js.map +1 -0
- package/dist/repository.d.ts +142 -0
- package/dist/repository.d.ts.map +1 -0
- package/dist/repository.js +1237 -0
- package/dist/repository.js.map +1 -0
- package/dist/retention.d.ts +17 -0
- package/dist/retention.d.ts.map +1 -0
- package/dist/retention.js +13 -0
- package/dist/retention.js.map +1 -0
- package/dist/runtime.d.ts +140 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +1737 -0
- package/dist/runtime.js.map +1 -0
- package/dist/schema.d.ts +8 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +260 -0
- package/dist/schema.js.map +1 -0
- package/dist/serialization.d.ts +11 -0
- package/dist/serialization.d.ts.map +1 -0
- package/dist/serialization.js +82 -0
- package/dist/serialization.js.map +1 -0
- package/dist/test-helper.d.ts +15 -0
- package/dist/test-helper.d.ts.map +1 -0
- package/dist/test-helper.js +69 -0
- package/dist/test-helper.js.map +1 -0
- package/dist/types.d.ts +71 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/dist/wake-up/postgresql.d.ts +42 -0
- package/dist/wake-up/postgresql.d.ts.map +1 -0
- package/dist/wake-up/postgresql.js +234 -0
- package/dist/wake-up/postgresql.js.map +1 -0
- package/dist/wake-up/redis.d.ts +35 -0
- package/dist/wake-up/redis.d.ts.map +1 -0
- package/dist/wake-up/redis.js +151 -0
- package/dist/wake-up/redis.js.map +1 -0
- package/dist/wake-up.d.ts +24 -0
- package/dist/wake-up.d.ts.map +1 -0
- package/dist/wake-up.js +66 -0
- package/dist/wake-up.js.map +1 -0
- package/dist/worker.d.ts +36 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +281 -0
- package/dist/worker.js.map +1 -0
- package/docs/api.md +197 -0
- package/docs/architecture.md +113 -0
- package/docs/authorization.md +31 -0
- package/docs/browser-protocol.md +93 -0
- package/docs/configuration.md +168 -0
- package/docs/correctness.md +53 -0
- package/docs/errors-and-recovery.md +89 -0
- package/docs/operations.md +170 -0
- package/docs/parity.md +94 -0
- package/docs/releasing.md +45 -0
- package/docs/state-and-lifecycle.md +162 -0
- package/package.json +100 -0
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { MessageReference } from "./reference.js";
|
|
2
|
+
export declare class SolidObjectsError extends Error {
|
|
3
|
+
constructor(message?: string, options?: ErrorOptions);
|
|
4
|
+
}
|
|
5
|
+
export declare class NonRetryableError extends SolidObjectsError {
|
|
6
|
+
}
|
|
7
|
+
export declare class UnsupportedDatabase extends SolidObjectsError {
|
|
8
|
+
}
|
|
9
|
+
export declare class DatabaseDeadlineExceeded extends SolidObjectsError {
|
|
10
|
+
}
|
|
11
|
+
export declare class SyncEnqueueTimeout extends SolidObjectsError {
|
|
12
|
+
readonly details: {
|
|
13
|
+
timeoutMilliseconds: number;
|
|
14
|
+
actorType: string;
|
|
15
|
+
actorId: string;
|
|
16
|
+
operation: string;
|
|
17
|
+
};
|
|
18
|
+
constructor(details: {
|
|
19
|
+
timeoutMilliseconds: number;
|
|
20
|
+
actorType: string;
|
|
21
|
+
actorId: string;
|
|
22
|
+
operation: string;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export declare class SyncInsideTransaction extends SolidObjectsError {
|
|
26
|
+
readonly details: {
|
|
27
|
+
actorType: string;
|
|
28
|
+
actorId: string;
|
|
29
|
+
operation: string;
|
|
30
|
+
};
|
|
31
|
+
constructor(details: {
|
|
32
|
+
actorType: string;
|
|
33
|
+
actorId: string;
|
|
34
|
+
operation: string;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
export declare class InvalidActor extends SolidObjectsError {
|
|
38
|
+
}
|
|
39
|
+
export declare class UnknownActorType extends NonRetryableError {
|
|
40
|
+
}
|
|
41
|
+
export declare class UnknownOperation extends NonRetryableError {
|
|
42
|
+
}
|
|
43
|
+
export declare class InvalidPayload extends SolidObjectsError {
|
|
44
|
+
}
|
|
45
|
+
export declare class PayloadTooLarge extends InvalidPayload {
|
|
46
|
+
}
|
|
47
|
+
export declare class MailboxFull extends SolidObjectsError {
|
|
48
|
+
}
|
|
49
|
+
export declare class IdempotencyConflict extends SolidObjectsError {
|
|
50
|
+
}
|
|
51
|
+
export declare class Unauthorized extends SolidObjectsError {
|
|
52
|
+
}
|
|
53
|
+
export declare class LostActivation extends SolidObjectsError {
|
|
54
|
+
}
|
|
55
|
+
export declare class ActorDestroyed extends LostActivation {
|
|
56
|
+
}
|
|
57
|
+
export declare class MessageFailed extends SolidObjectsError {
|
|
58
|
+
readonly messageId: string;
|
|
59
|
+
readonly details: Readonly<Record<string, unknown>>;
|
|
60
|
+
constructor(options: {
|
|
61
|
+
messageId: string;
|
|
62
|
+
details: Record<string, unknown>;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export declare class StateMigrationError extends NonRetryableError {
|
|
66
|
+
}
|
|
67
|
+
export declare class ActorSetupFailed extends SolidObjectsError {
|
|
68
|
+
readonly setupError: unknown;
|
|
69
|
+
constructor(setupError: unknown);
|
|
70
|
+
}
|
|
71
|
+
export declare class ActorCallCycle extends NonRetryableError {
|
|
72
|
+
}
|
|
73
|
+
export declare class QueryMutatedState extends NonRetryableError {
|
|
74
|
+
}
|
|
75
|
+
export declare class ApplicationWriteForbidden extends NonRetryableError {
|
|
76
|
+
}
|
|
77
|
+
export declare class UnknownEffect extends NonRetryableError {
|
|
78
|
+
}
|
|
79
|
+
export declare class UnknownCommitAction extends NonRetryableError {
|
|
80
|
+
}
|
|
81
|
+
export declare class UnknownDeadLetter extends SolidObjectsError {
|
|
82
|
+
}
|
|
83
|
+
export declare class UnknownReminder extends SolidObjectsError {
|
|
84
|
+
}
|
|
85
|
+
export declare class ReminderNotPaused extends SolidObjectsError {
|
|
86
|
+
}
|
|
87
|
+
export declare class InvalidStreamToken extends SolidObjectsError {
|
|
88
|
+
}
|
|
89
|
+
export declare class InvalidComponentToken extends SolidObjectsError {
|
|
90
|
+
}
|
|
91
|
+
export declare class UnknownComponent extends SolidObjectsError {
|
|
92
|
+
}
|
|
93
|
+
export declare class UnknownComponentDependency extends SolidObjectsError {
|
|
94
|
+
}
|
|
95
|
+
export declare class InvalidPayloadBroadcast extends SolidObjectsError {
|
|
96
|
+
}
|
|
97
|
+
export declare class UnknownPayloadBroadcast extends SolidObjectsError {
|
|
98
|
+
}
|
|
99
|
+
export declare class Rejected extends SolidObjectsError {
|
|
100
|
+
readonly code: string;
|
|
101
|
+
readonly details: Readonly<Record<string, unknown>>;
|
|
102
|
+
messageId?: string;
|
|
103
|
+
constructor(options: {
|
|
104
|
+
code: string;
|
|
105
|
+
message: string;
|
|
106
|
+
details?: Record<string, unknown>;
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
export declare class SyncTimeout extends SolidObjectsError {
|
|
110
|
+
readonly details: SyncTimeoutDetails;
|
|
111
|
+
readonly messageReference: MessageReference;
|
|
112
|
+
constructor(options: {
|
|
113
|
+
details: SyncTimeoutDetails;
|
|
114
|
+
messageReference: MessageReference;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
export type SyncTimeoutWaitingOn = "actorPaused" | "activationHeld" | "earlierMessage" | "messageClaimed" | "notYetAvailable" | "readyUnclaimed" | "databaseContention" | "unknown";
|
|
118
|
+
export interface SyncTimeoutDetails {
|
|
119
|
+
readonly timeoutMilliseconds: number;
|
|
120
|
+
readonly actorType: string;
|
|
121
|
+
readonly actorId: string;
|
|
122
|
+
readonly operation: string;
|
|
123
|
+
readonly messageId: string;
|
|
124
|
+
readonly requestId: string;
|
|
125
|
+
readonly sequence: bigint;
|
|
126
|
+
readonly status: string;
|
|
127
|
+
readonly waitingOn: SyncTimeoutWaitingOn;
|
|
128
|
+
readonly activation: Readonly<{
|
|
129
|
+
ownerId: string | null;
|
|
130
|
+
generation: bigint;
|
|
131
|
+
expiresAt: Date | null;
|
|
132
|
+
process: Readonly<{
|
|
133
|
+
kind: string;
|
|
134
|
+
heartbeatAt: Date;
|
|
135
|
+
shutdownState: string;
|
|
136
|
+
}> | null;
|
|
137
|
+
}>;
|
|
138
|
+
readonly blocker: Readonly<{
|
|
139
|
+
messageId: string;
|
|
140
|
+
sequence: bigint;
|
|
141
|
+
operation: string;
|
|
142
|
+
status: string;
|
|
143
|
+
}> | null;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
export class SolidObjectsError extends Error {
|
|
2
|
+
constructor(message, options) {
|
|
3
|
+
super(message, options);
|
|
4
|
+
this.name = new.target.name;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class NonRetryableError extends SolidObjectsError {
|
|
8
|
+
}
|
|
9
|
+
export class UnsupportedDatabase extends SolidObjectsError {
|
|
10
|
+
}
|
|
11
|
+
export class DatabaseDeadlineExceeded extends SolidObjectsError {
|
|
12
|
+
}
|
|
13
|
+
export class SyncEnqueueTimeout extends SolidObjectsError {
|
|
14
|
+
details;
|
|
15
|
+
constructor(details) {
|
|
16
|
+
super(`actor invocation could not be durably enqueued within ` +
|
|
17
|
+
`${details.timeoutMilliseconds}ms for ` +
|
|
18
|
+
`${details.actorType}(${JSON.stringify(details.actorId)}).${details.operation}`);
|
|
19
|
+
this.details = details;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class SyncInsideTransaction extends SolidObjectsError {
|
|
23
|
+
details;
|
|
24
|
+
constructor(details) {
|
|
25
|
+
super(`cannot synchronously invoke ` +
|
|
26
|
+
`${details.actorType}(${JSON.stringify(details.actorId)}).${details.operation} ` +
|
|
27
|
+
`inside a Solid Objects database transaction`);
|
|
28
|
+
this.details = details;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class InvalidActor extends SolidObjectsError {
|
|
32
|
+
}
|
|
33
|
+
export class UnknownActorType extends NonRetryableError {
|
|
34
|
+
}
|
|
35
|
+
export class UnknownOperation extends NonRetryableError {
|
|
36
|
+
}
|
|
37
|
+
export class InvalidPayload extends SolidObjectsError {
|
|
38
|
+
}
|
|
39
|
+
export class PayloadTooLarge extends InvalidPayload {
|
|
40
|
+
}
|
|
41
|
+
export class MailboxFull extends SolidObjectsError {
|
|
42
|
+
}
|
|
43
|
+
export class IdempotencyConflict extends SolidObjectsError {
|
|
44
|
+
}
|
|
45
|
+
export class Unauthorized extends SolidObjectsError {
|
|
46
|
+
}
|
|
47
|
+
export class LostActivation extends SolidObjectsError {
|
|
48
|
+
}
|
|
49
|
+
export class ActorDestroyed extends LostActivation {
|
|
50
|
+
}
|
|
51
|
+
export class MessageFailed extends SolidObjectsError {
|
|
52
|
+
messageId;
|
|
53
|
+
details;
|
|
54
|
+
constructor(options) {
|
|
55
|
+
super("actor message failed permanently");
|
|
56
|
+
this.messageId = options.messageId;
|
|
57
|
+
this.details = Object.freeze({ ...options.details });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export class StateMigrationError extends NonRetryableError {
|
|
61
|
+
}
|
|
62
|
+
export class ActorSetupFailed extends SolidObjectsError {
|
|
63
|
+
setupError;
|
|
64
|
+
constructor(setupError) {
|
|
65
|
+
super("actor setup failed", { cause: setupError });
|
|
66
|
+
this.setupError = setupError;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export class ActorCallCycle extends NonRetryableError {
|
|
70
|
+
}
|
|
71
|
+
export class QueryMutatedState extends NonRetryableError {
|
|
72
|
+
}
|
|
73
|
+
export class ApplicationWriteForbidden extends NonRetryableError {
|
|
74
|
+
}
|
|
75
|
+
export class UnknownEffect extends NonRetryableError {
|
|
76
|
+
}
|
|
77
|
+
export class UnknownCommitAction extends NonRetryableError {
|
|
78
|
+
}
|
|
79
|
+
export class UnknownDeadLetter extends SolidObjectsError {
|
|
80
|
+
}
|
|
81
|
+
export class UnknownReminder extends SolidObjectsError {
|
|
82
|
+
}
|
|
83
|
+
export class ReminderNotPaused extends SolidObjectsError {
|
|
84
|
+
}
|
|
85
|
+
export class InvalidStreamToken extends SolidObjectsError {
|
|
86
|
+
}
|
|
87
|
+
export class InvalidComponentToken extends SolidObjectsError {
|
|
88
|
+
}
|
|
89
|
+
export class UnknownComponent extends SolidObjectsError {
|
|
90
|
+
}
|
|
91
|
+
export class UnknownComponentDependency extends SolidObjectsError {
|
|
92
|
+
}
|
|
93
|
+
export class InvalidPayloadBroadcast extends SolidObjectsError {
|
|
94
|
+
}
|
|
95
|
+
export class UnknownPayloadBroadcast extends SolidObjectsError {
|
|
96
|
+
}
|
|
97
|
+
export class Rejected extends SolidObjectsError {
|
|
98
|
+
code;
|
|
99
|
+
details;
|
|
100
|
+
messageId;
|
|
101
|
+
constructor(options) {
|
|
102
|
+
super(options.message);
|
|
103
|
+
this.code = options.code;
|
|
104
|
+
this.details = Object.freeze({ ...(options.details ?? {}) });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export class SyncTimeout extends SolidObjectsError {
|
|
108
|
+
details;
|
|
109
|
+
messageReference;
|
|
110
|
+
constructor(options) {
|
|
111
|
+
const { details } = options;
|
|
112
|
+
super(`actor invocation timed out after ${details.timeoutMilliseconds}ms for ` +
|
|
113
|
+
`${details.actorType}(${JSON.stringify(details.actorId)}).${details.operation} ` +
|
|
114
|
+
`messageId=${details.messageId} sequence=${details.sequence} ` +
|
|
115
|
+
`status=${details.status} waitingOn=${details.waitingOn}`);
|
|
116
|
+
this.details = Object.freeze(details);
|
|
117
|
+
this.messageReference = options.messageReference;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executable.d.ts","sourceRoot":"","sources":["../src/executable.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { runCli } from "./cli.js";
|
|
3
|
+
const shutdown = new AbortController();
|
|
4
|
+
process.once("SIGINT", () => shutdown.abort());
|
|
5
|
+
process.once("SIGTERM", () => shutdown.abort());
|
|
6
|
+
runCli(process.argv.slice(2), { signal: shutdown.signal }).then((exitCode) => {
|
|
7
|
+
process.exitCode = exitCode;
|
|
8
|
+
}, (error) => {
|
|
9
|
+
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
|
|
10
|
+
process.exitCode = 1;
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=executable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executable.js","sourceRoot":"","sources":["../src/executable.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;AACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;AAC9C,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;AAE/C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC7D,CAAC,QAAQ,EAAE,EAAE;IACX,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAC7B,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;AACtB,CAAC,CACF,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { Actor, type ActorClass, type ActorIntents, type CommitActionIntent, type EffectIntent, type OutboundMessageIntent, type OutboundMessageOptions, type PayloadBroadcasts, type PayloadBroadcastValue, type ReminderIntent, type ReminderOptions, } from "./actor.js";
|
|
2
|
+
export { configure, createRuntime, SolidObjectsRuntime } from "./runtime.js";
|
|
3
|
+
export { VERSION } from "./version.js";
|
|
4
|
+
export { guardApplicationDatabase } from "./application-database.js";
|
|
5
|
+
export { runCli, type CliRunOptions } from "./cli.js";
|
|
6
|
+
export { Worker } from "./worker.js";
|
|
7
|
+
export { EffectWorker } from "./effect-worker.js";
|
|
8
|
+
export { ReminderScheduler } from "./reminder-scheduler.js";
|
|
9
|
+
export { ReminderManager, type ReminderPage, type ReminderPageOptions, type ReminderRecord, type ReminderStatus, type ResumeReminderOptions, } from "./reminder-administration.js";
|
|
10
|
+
export { BroadcastWorker } from "./broadcast-worker.js";
|
|
11
|
+
export { InProcessWakeUpAdapter, type WakeUpAdapter, type WakeUpRole, type WakeUpWaitOptions, type WakeUpWatch, } from "./wake-up.js";
|
|
12
|
+
export { parseSubscriptionRequest, RealtimeManager, type RealtimeConnectionOptions, type RealtimeSession, type SubscriptionRequest, } from "./realtime.js";
|
|
13
|
+
export { DeadLetterManager, type DeadLetter } from "./dead-letters.js";
|
|
14
|
+
export { ProcessManager, type ProcessCleanupResult, type ProcessMetadata, type ProcessRecord, type ProcessShutdownState, } from "./process-administration.js";
|
|
15
|
+
export { Doctor, type DoctorCheck, type DoctorOptions, type DoctorReport, type DoctorStatus, } from "./doctor.js";
|
|
16
|
+
export { ReconciliationManager, type OrphanedReconciliationOptions, type QuietReconciliationOptions, type ReconciliationInstance, type ReconciliationPage, type ReconciliationPageOptions, type ReconciliationStatesOptions, } from "./reconciliation.js";
|
|
17
|
+
export { RetentionManager, type RetentionOptions, type RetentionResult, type RetentionTarget, } from "./retention.js";
|
|
18
|
+
export { SolidObjectsTestHelper, type TestDrainOptions, type TestHelperRole, } from "./test-helper.js";
|
|
19
|
+
export { MessageReference, type ActorOperationNames, type ActorMessageSender, type ActorQueryNames, type ActorReference, type ActorSnapshot, type ScheduledOperations, type StagedOperations, } from "./reference.js";
|
|
20
|
+
export type { AdministrationAuthorizationInput, AuthorizationInput, BroadcastEvent, DestroyAuthorizationInput, InstrumentationEvent, SolidObjectsConfiguration, SubscriptionAuthorizationInput, } from "./configuration.js";
|
|
21
|
+
export type { AdministrationOptions, ActorIdentifier, AsyncInvocationOptions, CommitActionContext, DeepReadonly, DestroyOptions, EffectContext, InvocationOptions, JsonObject, JsonPrimitive, JsonValue, Logger, LongRunningComponent, MessageContext, MessageStatus, SnapshotOptions, } from "./types.js";
|
|
22
|
+
export type { Database, DatabaseConnection, DatabaseFamily, RunResult } from "./database/types.js";
|
|
23
|
+
export { ApplicationWriteForbidden, ActorCallCycle, ActorDestroyed, DatabaseDeadlineExceeded, IdempotencyConflict, InvalidActor, InvalidPayload, InvalidPayloadBroadcast, LostActivation, MailboxFull, MessageFailed, NonRetryableError, PayloadTooLarge, QueryMutatedState, Rejected, ReminderNotPaused, SolidObjectsError, StateMigrationError, SyncTimeout, SyncEnqueueTimeout, SyncInsideTransaction, type SyncTimeoutDetails, type SyncTimeoutWaitingOn, Unauthorized, UnknownActorType, UnknownCommitAction, UnknownDeadLetter, UnknownEffect, UnknownOperation, UnknownPayloadBroadcast, UnknownReminder, UnsupportedDatabase, } from "./errors.js";
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { Actor, } from "./actor.js";
|
|
2
|
+
export { configure, createRuntime, SolidObjectsRuntime } from "./runtime.js";
|
|
3
|
+
export { VERSION } from "./version.js";
|
|
4
|
+
export { guardApplicationDatabase } from "./application-database.js";
|
|
5
|
+
export { runCli } from "./cli.js";
|
|
6
|
+
export { Worker } from "./worker.js";
|
|
7
|
+
export { EffectWorker } from "./effect-worker.js";
|
|
8
|
+
export { ReminderScheduler } from "./reminder-scheduler.js";
|
|
9
|
+
export { ReminderManager, } from "./reminder-administration.js";
|
|
10
|
+
export { BroadcastWorker } from "./broadcast-worker.js";
|
|
11
|
+
export { InProcessWakeUpAdapter, } from "./wake-up.js";
|
|
12
|
+
export { parseSubscriptionRequest, RealtimeManager, } from "./realtime.js";
|
|
13
|
+
export { DeadLetterManager } from "./dead-letters.js";
|
|
14
|
+
export { ProcessManager, } from "./process-administration.js";
|
|
15
|
+
export { Doctor, } from "./doctor.js";
|
|
16
|
+
export { ReconciliationManager, } from "./reconciliation.js";
|
|
17
|
+
export { RetentionManager, } from "./retention.js";
|
|
18
|
+
export { SolidObjectsTestHelper, } from "./test-helper.js";
|
|
19
|
+
export { MessageReference, } from "./reference.js";
|
|
20
|
+
export { ApplicationWriteForbidden, ActorCallCycle, ActorDestroyed, DatabaseDeadlineExceeded, IdempotencyConflict, InvalidActor, InvalidPayload, InvalidPayloadBroadcast, LostActivation, MailboxFull, MessageFailed, NonRetryableError, PayloadTooLarge, QueryMutatedState, Rejected, ReminderNotPaused, SolidObjectsError, StateMigrationError, SyncTimeout, SyncEnqueueTimeout, SyncInsideTransaction, Unauthorized, UnknownActorType, UnknownCommitAction, UnknownDeadLetter, UnknownEffect, UnknownOperation, UnknownPayloadBroadcast, UnknownReminder, UnsupportedDatabase, } from "./errors.js";
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAWN,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,MAAM,EAAsB,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACL,eAAe,GAMhB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EACL,sBAAsB,GAKvB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,wBAAwB,EACxB,eAAe,GAIhB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AACtE,OAAO,EACL,cAAc,GAKf,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,MAAM,GAKP,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,qBAAqB,GAOtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,GAIjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,sBAAsB,GAGvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,gBAAgB,GAQjB,MAAM,gBAAgB,CAAA;AA6BvB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EAGrB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SolidObjectsRuntime } from "./runtime.js";
|
|
2
|
+
export declare class MaintenanceScheduler {
|
|
3
|
+
private readonly options;
|
|
4
|
+
private stopping;
|
|
5
|
+
constructor(options: {
|
|
6
|
+
runtime: SolidObjectsRuntime;
|
|
7
|
+
intervalMilliseconds: number;
|
|
8
|
+
failureEvent: string;
|
|
9
|
+
operation: () => Promise<void>;
|
|
10
|
+
});
|
|
11
|
+
run(signal: AbortSignal): Promise<void>;
|
|
12
|
+
requestShutdown(): void;
|
|
13
|
+
stopped(): boolean;
|
|
14
|
+
stop(): void;
|
|
15
|
+
private pauseMilliseconds;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=maintenance-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maintenance-scheduler.d.ts","sourceRoot":"","sources":["../src/maintenance-scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGvD,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,OAAO,CAAC,QAAQ,CAAQ;gBAGL,OAAO,EAAE;QACxB,OAAO,EAAE,mBAAmB,CAAA;QAC5B,oBAAoB,EAAE,MAAM,CAAA;QAC5B,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAC/B;IAGG,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7C,eAAe,IAAI,IAAI;IAIvB,OAAO,IAAI,OAAO;IAIlB,IAAI,IAAI,IAAI;IAIZ,OAAO,CAAC,iBAAiB;CAS1B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { waitFor } from "./worker.js";
|
|
2
|
+
export class MaintenanceScheduler {
|
|
3
|
+
options;
|
|
4
|
+
stopping = false;
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.options = options;
|
|
7
|
+
}
|
|
8
|
+
async run(signal) {
|
|
9
|
+
let failureCount = 0;
|
|
10
|
+
while (!signal.aborted && !this.stopping) {
|
|
11
|
+
try {
|
|
12
|
+
await this.options.operation();
|
|
13
|
+
failureCount = 0;
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
failureCount += 1;
|
|
17
|
+
this.options.runtime.emitInstrumentation(this.options.failureEvent, {
|
|
18
|
+
errorName: error instanceof Error ? error.name : "Error",
|
|
19
|
+
failureCount,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
await waitFor(this.pauseMilliseconds(failureCount), signal);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
requestShutdown() {
|
|
26
|
+
this.stopping = true;
|
|
27
|
+
}
|
|
28
|
+
stopped() {
|
|
29
|
+
return this.stopping;
|
|
30
|
+
}
|
|
31
|
+
stop() {
|
|
32
|
+
this.stopping = true;
|
|
33
|
+
}
|
|
34
|
+
pauseMilliseconds(failureCount) {
|
|
35
|
+
if (failureCount === 0)
|
|
36
|
+
return this.options.intervalMilliseconds;
|
|
37
|
+
const exponent = Math.min(failureCount - 1, 16);
|
|
38
|
+
return Math.min(this.options.runtime.settings.supervisorRestartDelayMilliseconds * 2 ** exponent, this.options.runtime.settings.supervisorMaximumRestartDelayMilliseconds, this.options.intervalMilliseconds);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=maintenance-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maintenance-scheduler.js","sourceRoot":"","sources":["../src/maintenance-scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,MAAM,OAAO,oBAAoB;IAIZ;IAHX,QAAQ,GAAG,KAAK,CAAA;IAExB,YACmB,OAKhB;QALgB,YAAO,GAAP,OAAO,CAKvB;IACA,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,MAAmB;QAC3B,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAA;gBAC9B,YAAY,GAAG,CAAC,CAAA;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,IAAI,CAAC,CAAA;gBACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;oBAClE,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;oBACxD,YAAY;iBACb,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAEO,iBAAiB,CAAC,YAAoB;QAC5C,IAAI,YAAY,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAA;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,GAAG,CAAC,IAAI,QAAQ,EAChF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,yCAAyC,EACvE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAClC,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SolidObjectsRuntime } from "./runtime.js";
|
|
2
|
+
import type { AdministrationOptions } from "./types.js";
|
|
3
|
+
export type ProcessShutdownState = "running" | "draining" | "stopped";
|
|
4
|
+
export interface ProcessMetadata {
|
|
5
|
+
readonly solidObjectsVersion: string;
|
|
6
|
+
readonly nodeVersion: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ProcessRecord {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly kind: string;
|
|
11
|
+
readonly hostname: string;
|
|
12
|
+
readonly hostProcessId: number;
|
|
13
|
+
readonly metadata: ProcessMetadata;
|
|
14
|
+
readonly shutdownState: ProcessShutdownState;
|
|
15
|
+
readonly shutdownRequestedAt: Date | null;
|
|
16
|
+
readonly stale: boolean;
|
|
17
|
+
readonly startedAt: Date;
|
|
18
|
+
readonly heartbeatAt: Date;
|
|
19
|
+
readonly stoppedAt: Date | null;
|
|
20
|
+
}
|
|
21
|
+
export interface ProcessCleanupResult {
|
|
22
|
+
readonly cleaned: number;
|
|
23
|
+
}
|
|
24
|
+
export declare class ProcessManager {
|
|
25
|
+
private readonly runtime;
|
|
26
|
+
constructor(runtime: SolidObjectsRuntime);
|
|
27
|
+
all(options?: AdministrationOptions): Promise<readonly ProcessRecord[]>;
|
|
28
|
+
cleanup(options?: AdministrationOptions): Promise<ProcessCleanupResult>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=process-administration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-administration.d.ts","sourceRoot":"","sources":["../src/process-administration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;AAErE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;IAClC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAA;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEzD,GAAG,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAI3E,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAG5E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class ProcessManager {
|
|
2
|
+
runtime;
|
|
3
|
+
constructor(runtime) {
|
|
4
|
+
this.runtime = runtime;
|
|
5
|
+
}
|
|
6
|
+
all(options = {}) {
|
|
7
|
+
return this.runtime.inspectProcesses(options);
|
|
8
|
+
}
|
|
9
|
+
cleanup(options = {}) {
|
|
10
|
+
return this.runtime.cleanupProcesses(options);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=process-administration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-administration.js","sourceRoot":"","sources":["../src/process-administration.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAE7D,GAAG,CAAC,UAAiC,EAAE;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,CAAC,UAAiC,EAAE;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { RealtimeEnvelope } from "./browser/index.js";
|
|
2
|
+
import type { BroadcastEvent } from "./configuration.js";
|
|
3
|
+
import type { SolidObjectsRuntime } from "./runtime.js";
|
|
4
|
+
export interface SubscriptionRequest {
|
|
5
|
+
readonly version: 1;
|
|
6
|
+
readonly action: "subscribe" | "unsubscribe";
|
|
7
|
+
readonly actorType: string;
|
|
8
|
+
readonly actorId: string;
|
|
9
|
+
readonly payloads?: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
export interface RealtimeConnectionOptions<AuthorizationContext = unknown> {
|
|
12
|
+
authorizationContext: AuthorizationContext;
|
|
13
|
+
send(envelope: RealtimeEnvelope): void | Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export interface RealtimeSession {
|
|
16
|
+
readonly closed: boolean;
|
|
17
|
+
receive(value: unknown): Promise<void>;
|
|
18
|
+
close(): void;
|
|
19
|
+
}
|
|
20
|
+
export declare class RealtimeManager {
|
|
21
|
+
private readonly runtime;
|
|
22
|
+
private readonly subscriptions;
|
|
23
|
+
constructor(runtime: SolidObjectsRuntime);
|
|
24
|
+
connect<AuthorizationContext>(options: RealtimeConnectionOptions<AuthorizationContext>): RealtimeSession;
|
|
25
|
+
publish(event: BroadcastEvent): Promise<void>;
|
|
26
|
+
close(): void;
|
|
27
|
+
private receive;
|
|
28
|
+
private removeSession;
|
|
29
|
+
private add;
|
|
30
|
+
private remove;
|
|
31
|
+
}
|
|
32
|
+
export declare function parseSubscriptionRequest(value: unknown): SubscriptionRequest;
|
|
33
|
+
//# sourceMappingURL=realtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAIvD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC;AAED,MAAM,WAAW,yBAAyB,CAAC,oBAAoB,GAAG,OAAO;IACvE,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,IAAI,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,KAAK,IAAI,IAAI,CAAA;CACd;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiD;gBAElD,OAAO,EAAE,mBAAmB;IAEzD,OAAO,CAAC,oBAAoB,EAC1B,OAAO,EAAE,yBAAyB,CAAC,oBAAoB,CAAC,GACvD,eAAe;IASZ,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BnD,KAAK,IAAI,IAAI;YAMC,OAAO;IAgCrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,MAAM;CAQf;AA6FD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAe5E"}
|