@earendil-works/pi-durable 1.4.0 → 1.5.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 +186 -0
- package/README.md +181 -84
- package/dist/codemode/codemode.d.ts +4 -4
- package/dist/codemode/codemode.d.ts.map +1 -1
- package/dist/codemode/codemode.js +9 -12
- package/dist/codemode/codemode.js.map +1 -1
- package/dist/codemode/models.js +4 -4
- package/dist/codemode/models.js.map +1 -1
- package/dist/env/index.d.ts +12 -10
- package/dist/env/index.d.ts.map +1 -1
- package/dist/env/index.js.map +1 -1
- package/dist/env/node-watch.d.ts +3 -3
- package/dist/env/node-watch.d.ts.map +1 -1
- package/dist/env/node-watch.js +18 -16
- package/dist/env/node-watch.js.map +1 -1
- package/dist/env/node.d.ts +2 -2
- package/dist/env/node.d.ts.map +1 -1
- package/dist/env/node.js +1 -1
- package/dist/env/node.js.map +1 -1
- package/dist/errors.d.ts +18 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +26 -3
- package/dist/errors.js.map +1 -1
- package/dist/harness/agent.d.ts.map +1 -1
- package/dist/harness/agent.js +10 -2
- package/dist/harness/agent.js.map +1 -1
- package/dist/harness/compaction.d.ts.map +1 -1
- package/dist/harness/compaction.js +19 -2
- package/dist/harness/compaction.js.map +1 -1
- package/dist/harness/context.d.ts +23 -7
- package/dist/harness/context.d.ts.map +1 -1
- package/dist/harness/context.js +71 -25
- package/dist/harness/context.js.map +1 -1
- package/dist/harness/define.d.ts +7 -3
- package/dist/harness/define.d.ts.map +1 -1
- package/dist/harness/define.js +4 -0
- package/dist/harness/define.js.map +1 -1
- package/dist/harness/generation.d.ts +38 -5
- package/dist/harness/generation.d.ts.map +1 -1
- package/dist/harness/generation.js +445 -96
- package/dist/harness/generation.js.map +1 -1
- package/dist/harness/harness.d.ts +2 -0
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/harness.js +87 -62
- package/dist/harness/harness.js.map +1 -1
- package/dist/harness/inbox.d.ts +5 -1
- package/dist/harness/inbox.d.ts.map +1 -1
- package/dist/harness/inbox.js +4 -1
- package/dist/harness/inbox.js.map +1 -1
- package/dist/harness/json.d.ts +20 -4
- package/dist/harness/json.d.ts.map +1 -1
- package/dist/harness/json.js +23 -5
- package/dist/harness/json.js.map +1 -1
- package/dist/harness/live.d.ts +122 -16
- package/dist/harness/live.d.ts.map +1 -1
- package/dist/harness/live.js +93 -12
- package/dist/harness/live.js.map +1 -1
- package/dist/harness/partial-changes.d.ts +54 -0
- package/dist/harness/partial-changes.d.ts.map +1 -0
- package/dist/harness/partial-changes.js +162 -0
- package/dist/harness/partial-changes.js.map +1 -0
- package/dist/harness/registry-reader.d.ts +11 -0
- package/dist/harness/registry-reader.d.ts.map +1 -0
- package/dist/harness/registry-reader.js +25 -0
- package/dist/harness/registry-reader.js.map +1 -0
- package/dist/harness/scheduler.d.ts +46 -19
- package/dist/harness/scheduler.d.ts.map +1 -1
- package/dist/harness/scheduler.js +973 -376
- package/dist/harness/scheduler.js.map +1 -1
- package/dist/harness/submissions.d.ts +17 -10
- package/dist/harness/submissions.d.ts.map +1 -1
- package/dist/harness/submissions.js +62 -25
- package/dist/harness/submissions.js.map +1 -1
- package/dist/harness/task-graph.d.ts +12 -9
- package/dist/harness/task-graph.d.ts.map +1 -1
- package/dist/harness/task-graph.js +38 -28
- package/dist/harness/task-graph.js.map +1 -1
- package/dist/harness/telemetry.d.ts +11 -11
- package/dist/harness/telemetry.d.ts.map +1 -1
- package/dist/harness/telemetry.js +7 -7
- package/dist/harness/telemetry.js.map +1 -1
- package/dist/harness/tool.d.ts +2 -0
- package/dist/harness/tool.d.ts.map +1 -1
- package/dist/harness/tool.js +171 -55
- package/dist/harness/tool.js.map +1 -1
- package/dist/harness/transcript.d.ts +72 -0
- package/dist/harness/transcript.d.ts.map +1 -0
- package/dist/harness/transcript.js +264 -0
- package/dist/harness/transcript.js.map +1 -0
- package/dist/harness/types.d.ts +218 -59
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js.map +1 -1
- package/dist/harness/util.d.ts +3 -1
- package/dist/harness/util.d.ts.map +1 -1
- package/dist/harness/util.js +9 -0
- package/dist/harness/util.js.map +1 -1
- package/dist/harness/view.d.ts +43 -22
- package/dist/harness/view.d.ts.map +1 -1
- package/dist/harness/view.js +130 -71
- package/dist/harness/view.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/search.d.ts +19 -3
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +107 -44
- package/dist/search.js.map +1 -1
- package/dist/session/cached-storage.d.ts +71 -0
- package/dist/session/cached-storage.d.ts.map +1 -0
- package/dist/session/cached-storage.js +269 -0
- package/dist/session/cached-storage.js.map +1 -0
- package/dist/session/conversation-tails.d.ts +33 -0
- package/dist/session/conversation-tails.d.ts.map +1 -0
- package/dist/session/conversation-tails.js +101 -0
- package/dist/session/conversation-tails.js.map +1 -0
- package/dist/session/keys.d.ts +68 -0
- package/dist/session/keys.d.ts.map +1 -0
- package/dist/session/keys.js +161 -0
- package/dist/session/keys.js.map +1 -0
- package/dist/session/session.d.ts +167 -26
- package/dist/session/session.d.ts.map +1 -1
- package/dist/session/session.js +1029 -171
- package/dist/session/session.js.map +1 -1
- package/dist/session/transaction.d.ts +81 -3
- package/dist/session/transaction.d.ts.map +1 -1
- package/dist/session/transaction.js +224 -37
- package/dist/session/transaction.js.map +1 -1
- package/dist/session/writer.d.ts +74 -0
- package/dist/session/writer.d.ts.map +1 -0
- package/dist/session/writer.js +294 -0
- package/dist/session/writer.js.map +1 -0
- package/dist/storage/indexeddb.d.ts +10 -2
- package/dist/storage/indexeddb.d.ts.map +1 -1
- package/dist/storage/indexeddb.js +91 -41
- package/dist/storage/indexeddb.js.map +1 -1
- package/dist/storage/jsonl/storage.d.ts +14 -2
- package/dist/storage/jsonl/storage.d.ts.map +1 -1
- package/dist/storage/jsonl/storage.js +88 -24
- package/dist/storage/jsonl/storage.js.map +1 -1
- package/dist/storage/memory.d.ts +7 -2
- package/dist/storage/memory.d.ts.map +1 -1
- package/dist/storage/memory.js +28 -2
- package/dist/storage/memory.js.map +1 -1
- package/dist/storage/sqlite/storage.d.ts +14 -2
- package/dist/storage/sqlite/storage.d.ts.map +1 -1
- package/dist/storage/sqlite/storage.js +110 -36
- package/dist/storage/sqlite/storage.js.map +1 -1
- package/dist/storage/store/commit.d.ts +33 -0
- package/dist/storage/store/commit.d.ts.map +1 -0
- package/dist/storage/store/commit.js +286 -0
- package/dist/storage/store/commit.js.map +1 -0
- package/dist/storage/store/documents.d.ts +43 -0
- package/dist/storage/store/documents.d.ts.map +1 -0
- package/dist/storage/store/documents.js +102 -0
- package/dist/storage/store/documents.js.map +1 -0
- package/dist/storage/store/index.d.ts +2 -0
- package/dist/storage/store/index.d.ts.map +1 -0
- package/dist/storage/store/index.js +2 -0
- package/dist/storage/store/index.js.map +1 -0
- package/dist/storage/store/queries.d.ts +49 -0
- package/dist/storage/store/queries.d.ts.map +1 -0
- package/dist/storage/store/queries.js +93 -0
- package/dist/storage/store/queries.js.map +1 -0
- package/dist/storage/store/storage.d.ts +59 -0
- package/dist/storage/store/storage.d.ts.map +1 -0
- package/dist/storage/store/storage.js +438 -0
- package/dist/storage/store/storage.js.map +1 -0
- package/dist/storage/store/tables.d.ts +54 -0
- package/dist/storage/store/tables.d.ts.map +1 -0
- package/dist/storage/store/tables.js +108 -0
- package/dist/storage/store/tables.js.map +1 -0
- package/dist/testing/commit-writes.d.ts +5 -0
- package/dist/testing/commit-writes.d.ts.map +1 -0
- package/dist/testing/commit-writes.js +12 -0
- package/dist/testing/commit-writes.js.map +1 -0
- package/dist/testing/env-conformance.js +7 -7
- package/dist/testing/env-conformance.js.map +1 -1
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/storage-benchmark.d.ts.map +1 -1
- package/dist/testing/storage-benchmark.js +18 -17
- package/dist/testing/storage-benchmark.js.map +1 -1
- package/dist/testing/storage-conformance.d.ts.map +1 -1
- package/dist/testing/storage-conformance.js +354 -69
- package/dist/testing/storage-conformance.js.map +1 -1
- package/dist/tool-search/tool-search.d.ts +6 -12
- package/dist/tool-search/tool-search.d.ts.map +1 -1
- package/dist/tool-search/tool-search.js +7 -7
- package/dist/tool-search/tool-search.js.map +1 -1
- package/dist/tools/bash.d.ts +12 -12
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +16 -15
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit.d.ts +7 -7
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +9 -9
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/index.d.ts +32 -32
- package/dist/tools/read.d.ts +6 -6
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +19 -8
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/write.d.ts +4 -4
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +5 -5
- package/dist/tools/write.js.map +1 -1
- package/dist/types.d.ts +223 -77
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +19 -12
- package/dist/harness/events.d.ts +0 -186
- package/dist/harness/events.d.ts.map +0 -1
- package/dist/harness/events.js +0 -373
- package/dist/harness/events.js.map +0 -1
- package/dist/session/observation.d.ts +0 -42
- package/dist/session/observation.d.ts.map +0 -1
- package/dist/session/observation.js +0 -281
- package/dist/session/observation.js.map +0 -1
|
@@ -1,6 +1,20 @@
|
|
|
1
|
-
import { type Context, type JsonValue } from "@earendil-works/chord";
|
|
2
|
-
import type {
|
|
1
|
+
import { type Context, type JsonValue, type WatchEnd } from "@earendil-works/chord";
|
|
2
|
+
import type { CommitChange, CommitObservation, CommitObserver, CommitOptions, ConversationDocFamilyToken, ConversationDocToken, ConversationId, ConversationRecord, DocumentCommitChange, DocumentRecord, DocumentWatch, EntryId, JsonObject, Observation, Observer, ReportInfo, RewindableConversationDocFamilyToken, RewindableConversationDocToken, Seq, Session, SessionDocFamilyToken, SessionDocToken, SessionEnd, SetTimer, Storage, StorageWrite, TaskDocFamilyToken, TaskDocToken, TaskId, Tx } from "../types.ts";
|
|
3
|
+
import { type HeadMarker } from "./conversation-tails.ts";
|
|
3
4
|
import { Transaction, type TransactionScope } from "./transaction.ts";
|
|
5
|
+
/**
|
|
6
|
+
* What the Session's own components observe of one commit (`followCommits()`): a stored commit with its own changes, or
|
|
7
|
+
* a deferred one adopted in memory only (`CommitPersistence`), which changes documents only. Memory is never behind:
|
|
8
|
+
* a later store of held changes is not observed again.
|
|
9
|
+
*/
|
|
10
|
+
export type ObservedCommit = {
|
|
11
|
+
readonly kind: "stored";
|
|
12
|
+
readonly seq: Seq;
|
|
13
|
+
readonly changes: readonly CommitChange[];
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: "memory";
|
|
16
|
+
readonly changes: readonly DocumentCommitChange[];
|
|
17
|
+
};
|
|
4
18
|
/**
|
|
5
19
|
* Open a Session kernel over one storage backend. `now` is the wall clock for task times; default `Date.now`.
|
|
6
20
|
* `setTimer` arms the timers that evict idle documents; default `setTimeout` (see `HarnessOptions.setTimer`). The first
|
|
@@ -10,6 +24,8 @@ export declare function createSession(storage: Storage, options?: {
|
|
|
10
24
|
readonly now?: () => number;
|
|
11
25
|
readonly documentRetentionMs?: number;
|
|
12
26
|
readonly setTimer?: SetTimer;
|
|
27
|
+
/** Default `withinMs` of a deferred commit (`CommitPersistence`); default 1,000. */
|
|
28
|
+
readonly persistWithinMs?: number;
|
|
13
29
|
}): Session;
|
|
14
30
|
/** Internal, for tests: the retention of every Session that keeps the default, as a suite run with eviction at once. */
|
|
15
31
|
export declare function setDefaultDocumentRetention(ms: number): void;
|
|
@@ -18,15 +34,31 @@ export declare function setDefaultDocumentRetention(ms: number): void;
|
|
|
18
34
|
* default.
|
|
19
35
|
*/
|
|
20
36
|
export declare function documentRetention(ms: number | undefined): number;
|
|
37
|
+
/**
|
|
38
|
+
* A deferred commit's default window as given, when it is a number of milliseconds, `0` or more (`Infinity` waits for a
|
|
39
|
+
* reading or writing commit or close); otherwise the default.
|
|
40
|
+
*/
|
|
41
|
+
export declare function persistWithin(ms: number | undefined): number;
|
|
21
42
|
/**
|
|
22
43
|
* Session kernel: one mutation line, the loaded document tracker cache, and committed publication.
|
|
23
44
|
*
|
|
24
|
-
* The cache is bounded by use: a document with no watch
|
|
45
|
+
* The cache is bounded by use: a document with no watch attached leaves it once it was not read or
|
|
25
46
|
* written for the retention period, and the next access loads it from Storage. Eviction runs as a job on the mutation
|
|
26
47
|
* line, so no transaction ever holds a tracker that leaves.
|
|
27
48
|
*
|
|
28
|
-
* Only committed state is observable.
|
|
29
|
-
*
|
|
49
|
+
* Only committed state is observable. A deferred commit (`CommitPersistence`) is committed in memory first: it is
|
|
50
|
+
* adopted and shown to the Session's own observers, and its changes wait, folded per document and pinned in the cache,
|
|
51
|
+
* for the first commit that reads or writes the document, the document's deadline, a drop of its tracker, or close,
|
|
52
|
+
* which store them.
|
|
53
|
+
*
|
|
54
|
+
* Group commit: the line runs one job at a time, a commit's callback and settlement; a commit with writes then joins
|
|
55
|
+
* the writer's pending batch (logical admission, `Writer`) and the line goes on. The writer stores every commit admitted
|
|
56
|
+
* while no call is in flight in one `commit()` call, off the line, and publishes them one by one, in line order, a
|
|
57
|
+
* macrotask apart: the read caches, adoption, telemetry events, the Session's own observers, and one microtask later
|
|
58
|
+
* `observeCommits()` observers, before every wait the commit resolves and every abort it queues. Host listeners and
|
|
59
|
+
* watch listeners have no order. A deferred commit is published when the commits before it are. A job's every read
|
|
60
|
+
* touches its key (`touch()`); while an unpublished commit writes that key, the job waits for its publication, so no
|
|
61
|
+
* job observes state that is not stored. Outcomes are delivered in line order (`#enqueue()`).
|
|
30
62
|
*
|
|
31
63
|
* Storage failures are final. Every Storage call goes through one guard: the first error a Storage method throws, other
|
|
32
64
|
* than for a cancelled caller, fails the Session, as does a commit it cannot adopt. That call gets the error; every later
|
|
@@ -43,24 +75,67 @@ export declare class SessionImpl implements Session {
|
|
|
43
75
|
} | undefined;
|
|
44
76
|
/** Internal: rejects with `SessionFailed` the moment the Session fails, before work underway has ended; never resolves. */
|
|
45
77
|
get failed(): Promise<never>;
|
|
46
|
-
constructor(storage: Storage, now?: () => number, documentRetentionMs?: () => number | undefined, setTimer?: SetTimer);
|
|
78
|
+
constructor(storage: Storage, now?: () => number, documentRetentionMs?: () => number | undefined, setTimer?: SetTimer, readOnly?: boolean, persistWithinMs?: () => number | undefined);
|
|
47
79
|
/** The Storage behind the failure guard; every component reads and writes through it. */
|
|
48
80
|
protected get storage(): Storage;
|
|
49
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Internal, on the Session line: the newest entry ID visible from `conversationId`. Known from the Session's own
|
|
83
|
+
* commits when it owns its Storage, so it costs no Storage read after the first.
|
|
84
|
+
*/
|
|
85
|
+
latestEntryId(conversationId: ConversationId, context: Context): Promise<EntryId | undefined>;
|
|
86
|
+
/**
|
|
87
|
+
* Internal: the newest entry ID of `conversationId` as known from the Session's commits right now, without reading;
|
|
88
|
+
* `undefined` when not known (and always for a read-only Session).
|
|
89
|
+
*/
|
|
90
|
+
knownLatestEntryId(conversationId: ConversationId): EntryId | null | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Internal, on the Session line: the newest visible head marker of `conversationId` at or before `atOrBefore`, any
|
|
93
|
+
* when `undefined`; known from the Session's own commits as `latestEntryId()` is.
|
|
94
|
+
*/
|
|
95
|
+
latestHeadMarker(conversationId: ConversationId, atOrBefore: EntryId | undefined, context: Context): Promise<HeadMarker | undefined>;
|
|
96
|
+
/**
|
|
97
|
+
* Internal, on the line: wait, while `key` has an unpublished writer (for `ALL_KEYS`, while anything is unpublished),
|
|
98
|
+
* until it is published, then check that the Session is healthy; `undefined` when there is nothing to wait for. A
|
|
99
|
+
* job's every read touches its key first, so it never observes state an earlier job admitted and the writer has not
|
|
100
|
+
* published.
|
|
101
|
+
*/
|
|
102
|
+
touch(key: string): Promise<void> | undefined;
|
|
103
|
+
commit<T>(change: (tx: Tx) => T | Promise<T>, context: Context, options?: CommitOptions): Promise<T>;
|
|
50
104
|
/**
|
|
51
105
|
* Internal: fail the Session with `error`, the first wins, and report it once. Admission ends, and close listeners run
|
|
52
106
|
* now; they read the error from `failure`. The Storage guard calls this; the Harness also calls it for a throw in its
|
|
53
|
-
* scheduler's own commits.
|
|
107
|
+
* scheduler's own commits. `at` is the line index of the job whose outcome the failure is, by default the job on the
|
|
108
|
+
* line: later jobs' outcomes become `SessionFailed`.
|
|
54
109
|
*/
|
|
55
|
-
fail(error: unknown, context?: Context): void;
|
|
110
|
+
fail(error: unknown, context?: Context, at?: number, own?: readonly number[]): void;
|
|
56
111
|
/**
|
|
57
112
|
* Internal commit exposing the concrete transaction and its internal operations, such as the reserved-ID root
|
|
58
113
|
* bootstrap and task replacement. `scope` sets the default `tx.createTask()` conversation and the task attributed to
|
|
59
114
|
* appended entries.
|
|
60
115
|
*/
|
|
61
|
-
commitWith<T>(change: (tx: Transaction) => T | Promise<T>, context: Context, scope?: TransactionScope): Promise<T>;
|
|
62
|
-
/**
|
|
63
|
-
|
|
116
|
+
commitWith<T>(change: (tx: Transaction) => T | Promise<T>, context: Context, scope?: TransactionScope, options?: CommitOptions): Promise<T>;
|
|
117
|
+
/**
|
|
118
|
+
* Internal: `commitWith()` for a commit of the scheduler's own whose outcome goes only to scheduler code. When it
|
|
119
|
+
* writes nothing and waited at no gate, it is equivalent to having run before every unpublished commit, so its
|
|
120
|
+
* outcome is delivered at once, ahead of theirs. One that writes is never exempt: its outcome waits for its own
|
|
121
|
+
* publication and every earlier outcome, so no invocation starts on a reservation that is not durable.
|
|
122
|
+
*/
|
|
123
|
+
commitInternal<T>(change: (tx: Transaction) => T | Promise<T>, context: Context): Promise<T>;
|
|
124
|
+
/**
|
|
125
|
+
* Internal, on the line: call `end` once the outcome of the job on the line settles, its commit published or never to
|
|
126
|
+
* be; at once off the line.
|
|
127
|
+
*/
|
|
128
|
+
onJobEnd(end: () => void): void;
|
|
129
|
+
/** Internal: the Storage jobs on the line read through (`touch()`); off the line, use the plain one. */
|
|
130
|
+
get lineStorage(): Storage;
|
|
131
|
+
/** Internal: whether `tx` is the transaction of one of this Session's commits. */
|
|
132
|
+
ownsTransaction(tx: Tx): tx is Transaction;
|
|
133
|
+
/**
|
|
134
|
+
* Internal: run a read-only job on the mutation line so multi-read derivations observe one committed state. It reads
|
|
135
|
+
* through `storage`, whose reads wait for the publication of what the line admitted before; its outcome comes after
|
|
136
|
+
* theirs.
|
|
137
|
+
*/
|
|
138
|
+
readOnLine<T>(job: (storage: Storage) => Promise<T>): Promise<T>;
|
|
64
139
|
/**
|
|
65
140
|
* Internal: a conversation document's current incarnation and value, for a job already running on the line (see
|
|
66
141
|
* `readOnLine()`). Absent documents are `undefined`.
|
|
@@ -76,18 +151,18 @@ export declare class SessionImpl implements Session {
|
|
|
76
151
|
snapshot<T extends JsonObject, I extends JsonValue>(token: SessionDocFamilyToken<T, I>, key: string, context: Context): Promise<Readonly<T> | undefined>;
|
|
77
152
|
snapshot<T extends JsonObject, I extends JsonValue>(token: ConversationDocFamilyToken<T, I>, conversationId: ConversationId, key: string, context: Context): Promise<Readonly<T> | undefined>;
|
|
78
153
|
snapshot<T extends JsonObject, I extends JsonValue>(token: TaskDocFamilyToken<T, I>, taskId: TaskId, key: string, context: Context): Promise<Readonly<T> | undefined>;
|
|
79
|
-
documentState<T extends JsonObject>(token: SessionDocToken<T>, context: Context): Promise<DocumentState<T> | undefined>;
|
|
80
|
-
documentState<T extends JsonObject>(token: ConversationDocToken<T>, conversationId: ConversationId, context: Context): Promise<DocumentState<T> | undefined>;
|
|
81
|
-
documentState<T extends JsonObject>(token: TaskDocToken<T>, taskId: TaskId, context: Context): Promise<DocumentState<T> | undefined>;
|
|
82
|
-
documentState<T extends JsonObject, I extends JsonValue>(token: SessionDocFamilyToken<T, I>, key: string, context: Context): Promise<DocumentState<T> | undefined>;
|
|
83
|
-
documentState<T extends JsonObject, I extends JsonValue>(token: ConversationDocFamilyToken<T, I>, conversationId: ConversationId, key: string, context: Context): Promise<DocumentState<T> | undefined>;
|
|
84
|
-
documentState<T extends JsonObject, I extends JsonValue>(token: TaskDocFamilyToken<T, I>, taskId: TaskId, key: string, context: Context): Promise<DocumentState<T> | undefined>;
|
|
85
154
|
watchDoc<T extends JsonObject>(token: SessionDocToken<T>, context: Context): Promise<DocumentWatch<T> | undefined>;
|
|
86
155
|
watchDoc<T extends JsonObject>(token: ConversationDocToken<T>, conversationId: ConversationId, context: Context): Promise<DocumentWatch<T> | undefined>;
|
|
87
156
|
watchDoc<T extends JsonObject>(token: TaskDocToken<T>, taskId: TaskId, context: Context): Promise<DocumentWatch<T> | undefined>;
|
|
88
157
|
watchDoc<T extends JsonObject, I extends JsonValue>(token: SessionDocFamilyToken<T, I>, key: string, context: Context): Promise<DocumentWatch<T> | undefined>;
|
|
89
158
|
watchDoc<T extends JsonObject, I extends JsonValue>(token: ConversationDocFamilyToken<T, I>, conversationId: ConversationId, key: string, context: Context): Promise<DocumentWatch<T> | undefined>;
|
|
90
159
|
watchDoc<T extends JsonObject, I extends JsonValue>(token: TaskDocFamilyToken<T, I>, taskId: TaskId, key: string, context: Context): Promise<DocumentWatch<T> | undefined>;
|
|
160
|
+
observeDoc<T extends JsonObject>(token: SessionDocToken<T>, observer: Observer<Readonly<T>>, context: Context): Promise<Observation<Readonly<T>> | undefined>;
|
|
161
|
+
observeDoc<T extends JsonObject>(token: ConversationDocToken<T>, conversationId: ConversationId, observer: Observer<Readonly<T>>, context: Context): Promise<Observation<Readonly<T>> | undefined>;
|
|
162
|
+
observeDoc<T extends JsonObject>(token: TaskDocToken<T>, taskId: TaskId, observer: Observer<Readonly<T>>, context: Context): Promise<Observation<Readonly<T>> | undefined>;
|
|
163
|
+
observeDoc<T extends JsonObject, I extends JsonValue>(token: SessionDocFamilyToken<T, I>, key: string, observer: Observer<Readonly<T>>, context: Context): Promise<Observation<Readonly<T>> | undefined>;
|
|
164
|
+
observeDoc<T extends JsonObject, I extends JsonValue>(token: ConversationDocFamilyToken<T, I>, conversationId: ConversationId, key: string, observer: Observer<Readonly<T>>, context: Context): Promise<Observation<Readonly<T>> | undefined>;
|
|
165
|
+
observeDoc<T extends JsonObject, I extends JsonValue>(token: TaskDocFamilyToken<T, I>, taskId: TaskId, key: string, observer: Observer<Readonly<T>>, context: Context): Promise<Observation<Readonly<T>> | undefined>;
|
|
91
166
|
snapshotAsOf<T extends JsonObject>(token: RewindableConversationDocToken<T>, conversationId: ConversationId, at: EntryId, context: Context): Promise<Readonly<T> | undefined>;
|
|
92
167
|
snapshotAsOf<T extends JsonObject, I extends JsonValue>(token: RewindableConversationDocFamilyToken<T, I>, conversationId: ConversationId, key: string, at: EntryId, context: Context): Promise<Readonly<T> | undefined>;
|
|
93
168
|
close(context: Context): Promise<void>;
|
|
@@ -107,31 +182,57 @@ export declare class SessionImpl implements Session {
|
|
|
107
182
|
* writes nothing.
|
|
108
183
|
*/
|
|
109
184
|
protected writeAtClose(writes: () => readonly StorageWrite[]): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* Keys a commit writes besides its records' (`Transaction.writeKeys()`), at its admission, on the line: a Harness
|
|
187
|
+
* adds the ownership memberships its task changes write. A plain Session adds none.
|
|
188
|
+
*/
|
|
189
|
+
protected membershipKeys(_tx: Transaction): readonly string[] | Promise<readonly string[]>;
|
|
110
190
|
/** Runs after close seals admission and before the line closes Storage; must not reject. */
|
|
111
191
|
protected beforeClose(): Promise<void>;
|
|
112
|
-
/** Register a synchronous post-adoption listener. It must not block or call Session operations; a throw is reported. */
|
|
113
|
-
subscribeCommits(listener: (publication: CommitPublication, context: Context) => void): () => void;
|
|
114
192
|
/**
|
|
115
|
-
*
|
|
116
|
-
*
|
|
193
|
+
* Attach a synchronous observer of every stored commit, with exactly what it stored (`CommitPublication`). Its
|
|
194
|
+
* `advance` runs one microtask after the commit's publication, which follows its storage call, in line order, before
|
|
195
|
+
* every wait the commit resolves and every abort it queues (in no order with watch listeners); it must not block or
|
|
196
|
+
* call Session operations. A throw is reported, detaches it, and ends it `listener_error`; `end` gets the Session's
|
|
197
|
+
* close after its last publication.
|
|
198
|
+
*/
|
|
199
|
+
observeCommits(observer: CommitObserver): CommitObservation;
|
|
200
|
+
/**
|
|
201
|
+
* Internal: follow every commit as memory adopts it (`ObservedCommit`), for the Session's own components, whose state
|
|
202
|
+
* follows memory. A throw leaves that state behind, so it fails the Session instead of being reported. They run at
|
|
203
|
+
* the commit's publication, synchronously, so they call no Storage method, run no task code, and contain every host
|
|
204
|
+
* callback; the waits they resolve and the aborts they queue run after host observers.
|
|
117
205
|
*/
|
|
118
|
-
|
|
206
|
+
followCommits(listener: (publication: ObservedCommit, context: Context) => void): () => void;
|
|
119
207
|
/**
|
|
120
208
|
* Register a listener called synchronously when close begins, also when a failure closes the Session (`failure` is
|
|
121
209
|
* then set). It must not block or call Session operations; a throw is reported.
|
|
122
210
|
*/
|
|
123
211
|
subscribeClose(listener: () => void): () => void;
|
|
124
|
-
/** Drop every loaded tracker on the mutation line; later access cold-loads from Storage. */
|
|
212
|
+
/** Drop every loaded tracker on the mutation line, held changes stored first; later access cold-loads from Storage. */
|
|
125
213
|
unloadDocuments(): Promise<void>;
|
|
126
214
|
/**
|
|
127
|
-
* Internal, for tests: how many documents the cache holds, how many are idle, how many incarnations are pinned,
|
|
128
|
-
* many sweep jobs were queued on the line so far
|
|
215
|
+
* Internal, for tests: how many documents the cache holds, how many are idle, how many incarnations are pinned, how
|
|
216
|
+
* many sweep jobs were queued on the line so far, how many documents have held changes, how many live tasks have
|
|
217
|
+
* their documents indexed, and how many conversations have their newest entry kept.
|
|
129
218
|
*/
|
|
130
219
|
get documentCacheSizes(): {
|
|
131
220
|
readonly cached: number;
|
|
132
221
|
readonly idle: number;
|
|
133
222
|
readonly attached: number;
|
|
134
223
|
readonly sweeps: number;
|
|
224
|
+
readonly held: number;
|
|
225
|
+
readonly taskDocuments: number;
|
|
226
|
+
readonly tails: number;
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* Internal, for tests that bound memory: jobs whose outcome is not delivered yet, keys with an unpublished writer,
|
|
230
|
+
* and record reads in flight in the cache. All three are 0 once the line is idle.
|
|
231
|
+
*/
|
|
232
|
+
get lineSizes(): {
|
|
233
|
+
readonly outstanding: number;
|
|
234
|
+
readonly unpublished: number;
|
|
235
|
+
readonly reads: number;
|
|
135
236
|
};
|
|
136
237
|
/** Internal: throw `SessionFailed` when failed, else an error when closing. */
|
|
137
238
|
assertUsable(): void;
|
|
@@ -141,4 +242,44 @@ export declare class SessionImpl implements Session {
|
|
|
141
242
|
* which is not awaited.
|
|
142
243
|
*/
|
|
143
244
|
export declare function contained(callback: () => unknown, onError: (error: unknown) => void): void;
|
|
245
|
+
/** A synchronous observer as Durable attaches it: `Observer` (`advance` gets a `WatchCall`) or `CommitObserver`. */
|
|
246
|
+
type SyncObserver<A> = {
|
|
247
|
+
advance(call: A, context: Context): void;
|
|
248
|
+
end(end: WatchEnd): void;
|
|
249
|
+
};
|
|
250
|
+
/** A guarded observer (`guardObserver()`) with its observation's detach. */
|
|
251
|
+
export type GuardedObserver<A> = SyncObserver<A> & {
|
|
252
|
+
detach(): void;
|
|
253
|
+
};
|
|
254
|
+
/**
|
|
255
|
+
* `observer`, a host's, behind the rule for observers that run at a commit's publication: one that throws, or whose
|
|
256
|
+
* `advance` returns a promise that rejects, is reported through `report`, detached, and ended `listener_error`, so the
|
|
257
|
+
* throw never reaches `adopt`; nothing reaches it after its detach or end, and from then on the guard references
|
|
258
|
+
* neither it nor its source. `detach` is the source's; the returned `detach()` is the observation's.
|
|
259
|
+
*/
|
|
260
|
+
export declare function guardObserver<A>(observer: SyncObserver<A>, detach: () => void, report: (error: unknown, context?: Context) => void): GuardedObserver<A>;
|
|
261
|
+
/** The end of an observer whose source closed. */
|
|
262
|
+
export declare const ENDED: WatchEnd;
|
|
263
|
+
/**
|
|
264
|
+
* How a Session's close ends what follows it (decision "Slice 8 S1"), made once per close: an app's watch `ended`; a
|
|
265
|
+
* synchronous observer (an adapter following the Session, which may open it again) `failed` with "session closed", so
|
|
266
|
+
* it follows the next Session; `ended` stays for an observed owner that ended (a task document's task). A failed
|
|
267
|
+
* Session ends both `failed` with its error.
|
|
268
|
+
*/
|
|
269
|
+
export declare function closeEnds(failure: {
|
|
270
|
+
readonly error: unknown;
|
|
271
|
+
} | undefined): {
|
|
272
|
+
readonly watch: WatchEnd;
|
|
273
|
+
readonly observer: WatchEnd;
|
|
274
|
+
};
|
|
275
|
+
/** The end `ends` give `follower`: a watch's, or an observer's. */
|
|
276
|
+
export declare function closeEndOf(follower: unknown, ends: ReturnType<typeof closeEnds>): WatchEnd;
|
|
277
|
+
/**
|
|
278
|
+
* The `Observation` of a guarded observer attached at `value`. Built outside the attaching closure, so a detached
|
|
279
|
+
* observation keeps nothing but `value` and the spent guard alive.
|
|
280
|
+
*/
|
|
281
|
+
export declare function observation<T>(value: T, guarded: {
|
|
282
|
+
detach(): void;
|
|
283
|
+
}): Observation<T>;
|
|
284
|
+
export {};
|
|
144
285
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,uBAAuB,CAAC;AActF,OAAO,KAAK,EAEX,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EAEd,kBAAkB,EAOlB,cAAc,EACd,aAAa,EACb,aAAa,EACb,OAAO,EAIP,UAAU,EAEV,UAAU,EACV,oCAAoC,EACpC,8BAA8B,EAE9B,OAAO,EACP,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EAKZ,kBAAkB,EAClB,YAAY,EACZ,MAAM,EAGN,EAAE,EACF,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAuB,WAAW,EAAwB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKjH;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,GAC5G,OAAO,CAQT;AAKD,wHAAwH;AACxH,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAY,YAAW,OAAO;;IA2B1C,IAAI,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAEhC;IAED,+DAA+D;IAC/D,IAAI,OAAO,IAAI;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAErD;IAED,2HAA2H;IAC3H,IAAI,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAE3B;IAED,YACC,OAAO,EAAE,OAAO,EAChB,GAAG,GAAE,MAAM,MAAiB,EAC5B,mBAAmB,GAAE,MAAM,MAAM,GAAG,SAA2B,EAC/D,QAAQ,CAAC,EAAE,QAAQ,EAwCnB;IAED,yFAAyF;IACzF,SAAS,KAAK,OAAO,IAAI,OAAO,CAE/B;IAED,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAE1E;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAQ5C;IAED;;;;OAIG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAOjH;IAED,gHAAgH;IAChH,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAU/C;IAED;;;OAGG;IACG,0BAA0B,CAC/B,KAAK,EAAE,oBAAoB,CAAC,UAAU,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS,CAAC,CAQhH;IAED,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9G,QAAQ,CAAC,CAAC,SAAS,UAAU,EAC5B,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAC5B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAqBpC,aAAa,CAAC,CAAC,SAAS,UAAU,EACjC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EACjC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EACjC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACtD,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACtD,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACtD,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IA4BzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACnH,QAAQ,CAAC,CAAC,SAAS,UAAU,EAC5B,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAC5B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAsCzC,YAAY,CAAC,CAAC,SAAS,UAAU,EAChC,KAAK,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACxC,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACrD,KAAK,EAAE,oCAAoC,CAAC,CAAC,EAAE,CAAC,CAAC,EACjD,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAmCpC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCrC;IAWD;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAE,UAAqB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAG;IAElF;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;IAED;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E;IAED,4FAA4F;IAC5F,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAErC;IAED,wHAAwH;IACxH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAIjG;IAED;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAI/F;IAED;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAI/C;IAED,4FAA4F;IAC5F,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAK/B;IAED;;;OAGG;IACH,IAAI,kBAAkB,IAAI;QACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,CAOA;IA0RD,+EAA+E;IAC/E,YAAY,IAAI,IAAI,CAGnB;CAKD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAQ1F"}
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session/session.ts"],"names":[],"mappings":"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"}
|