@laserdata/laser-sdk 0.5.3 → 0.6.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/README.md +105 -79
- package/dist/agent/agdx.d.ts +8 -3
- package/dist/agent/agdx.d.ts.map +1 -1
- package/dist/agent/agdx.js +39 -22
- package/dist/agent/agdx.js.map +1 -1
- package/dist/agent/builder.d.ts +25 -15
- package/dist/agent/builder.d.ts.map +1 -1
- package/dist/agent/builder.js +103 -59
- package/dist/agent/builder.js.map +1 -1
- package/dist/agent/context.d.ts +3 -6
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +17 -9
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/contract.d.ts +2 -2
- package/dist/agent/contract.d.ts.map +1 -1
- package/dist/agent/contract.js +10 -6
- package/dist/agent/contract.js.map +1 -1
- package/dist/agent/memory-handler.d.ts +25 -0
- package/dist/agent/memory-handler.d.ts.map +1 -0
- package/dist/agent/memory-handler.js +43 -0
- package/dist/agent/memory-handler.js.map +1 -0
- package/dist/agent/registry.d.ts +3 -10
- package/dist/agent/registry.d.ts.map +1 -1
- package/dist/agent/registry.js +22 -19
- package/dist/agent/registry.js.map +1 -1
- package/dist/agent/reliable-consumer.d.ts +19 -9
- package/dist/agent/reliable-consumer.d.ts.map +1 -1
- package/dist/agent/reliable-consumer.js +193 -54
- package/dist/agent/reliable-consumer.js.map +1 -1
- package/dist/agent/replies.d.ts +6 -0
- package/dist/agent/replies.d.ts.map +1 -1
- package/dist/agent/replies.js +55 -4
- package/dist/agent/replies.js.map +1 -1
- package/dist/agent/router.d.ts +1 -1
- package/dist/agent/router.d.ts.map +1 -1
- package/dist/agent/router.js +5 -19
- package/dist/agent/router.js.map +1 -1
- package/dist/agent/scope.d.ts +7 -3
- package/dist/agent/scope.d.ts.map +1 -1
- package/dist/agent/scope.js +11 -1
- package/dist/agent/scope.js.map +1 -1
- package/dist/agent/timer.d.ts +6 -0
- package/dist/agent/timer.d.ts.map +1 -0
- package/dist/agent/timer.js +21 -0
- package/dist/agent/timer.js.map +1 -0
- package/dist/agent/workflow.d.ts +16 -19
- package/dist/agent/workflow.d.ts.map +1 -1
- package/dist/agent/workflow.js +17 -6
- package/dist/agent/workflow.js.map +1 -1
- package/dist/blob.d.ts +2 -3
- package/dist/blob.d.ts.map +1 -1
- package/dist/blob.js.map +1 -1
- package/dist/bridges/a2a.d.ts +34 -23
- package/dist/bridges/a2a.d.ts.map +1 -1
- package/dist/bridges/a2a.js +29 -19
- package/dist/bridges/a2a.js.map +1 -1
- package/dist/bridges/hops.d.ts +1 -1
- package/dist/bridges/hops.d.ts.map +1 -1
- package/dist/bridges/hops.js +1 -1
- package/dist/bridges/hops.js.map +1 -1
- package/dist/bridges/mcp.d.ts +27 -7
- package/dist/bridges/mcp.d.ts.map +1 -1
- package/dist/bridges/mcp.js +24 -9
- package/dist/bridges/mcp.js.map +1 -1
- package/dist/client/bytes.d.ts +5 -0
- package/dist/client/bytes.d.ts.map +1 -1
- package/dist/client/bytes.js +15 -0
- package/dist/client/bytes.js.map +1 -1
- package/dist/client/capabilities.d.ts +25 -13
- package/dist/client/capabilities.d.ts.map +1 -1
- package/dist/client/capabilities.js +145 -123
- package/dist/client/capabilities.js.map +1 -1
- package/dist/client/error-classify.d.ts +57 -0
- package/dist/client/error-classify.d.ts.map +1 -0
- package/dist/client/error-classify.js +347 -0
- package/dist/client/error-classify.js.map +1 -0
- package/dist/client/errors.d.ts +113 -40
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +191 -53
- package/dist/client/errors.js.map +1 -1
- package/dist/client/internals.d.ts +1 -0
- package/dist/client/internals.d.ts.map +1 -1
- package/dist/client/internals.js +1 -0
- package/dist/client/internals.js.map +1 -1
- package/dist/client/laser.d.ts +62 -46
- package/dist/client/laser.d.ts.map +1 -1
- package/dist/client/laser.js +206 -120
- package/dist/client/laser.js.map +1 -1
- package/dist/client/managed.d.ts +3 -0
- package/dist/client/managed.d.ts.map +1 -1
- package/dist/client/managed.js +70 -3
- package/dist/client/managed.js.map +1 -1
- package/dist/context-scope.d.ts +25 -9
- package/dist/context-scope.d.ts.map +1 -1
- package/dist/context-scope.js +36 -9
- package/dist/context-scope.js.map +1 -1
- package/dist/context.d.ts +33 -16
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +174 -95
- package/dist/context.js.map +1 -1
- package/dist/conversation-state.d.ts +1 -1
- package/dist/conversation-state.d.ts.map +1 -1
- package/dist/conversation-state.js +35 -16
- package/dist/conversation-state.js.map +1 -1
- package/dist/govern.d.ts +24 -5
- package/dist/govern.d.ts.map +1 -1
- package/dist/govern.js +116 -28
- package/dist/govern.js.map +1 -1
- package/dist/iggy/apache-iggy.d.ts +59 -56
- package/dist/iggy/apache-iggy.d.ts.map +1 -1
- package/dist/iggy/apache-iggy.js +300 -137
- package/dist/iggy/apache-iggy.js.map +1 -1
- package/dist/index.d.ts +97 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -30
- package/dist/index.js.map +1 -1
- package/dist/intent.d.ts +16 -2
- package/dist/intent.d.ts.map +1 -1
- package/dist/intent.js +50 -18
- package/dist/intent.js.map +1 -1
- package/dist/managed/coordination.d.ts +82 -0
- package/dist/managed/coordination.d.ts.map +1 -0
- package/dist/managed/coordination.js +367 -0
- package/dist/managed/coordination.js.map +1 -0
- package/dist/managed/destinations.d.ts +4 -3
- package/dist/managed/destinations.d.ts.map +1 -1
- package/dist/managed/destinations.js +29 -13
- package/dist/managed/destinations.js.map +1 -1
- package/dist/managed/filters.d.ts +5 -5
- package/dist/managed/filters.d.ts.map +1 -1
- package/dist/managed/filters.js +39 -22
- package/dist/managed/filters.js.map +1 -1
- package/dist/managed/forks.d.ts +8 -11
- package/dist/managed/forks.d.ts.map +1 -1
- package/dist/managed/forks.js +33 -13
- package/dist/managed/forks.js.map +1 -1
- package/dist/managed/graph.d.ts +1 -4
- package/dist/managed/graph.d.ts.map +1 -1
- package/dist/managed/graph.js +5 -3
- package/dist/managed/graph.js.map +1 -1
- package/dist/managed/kv.d.ts +26 -14
- package/dist/managed/kv.d.ts.map +1 -1
- package/dist/managed/kv.js +88 -61
- package/dist/managed/kv.js.map +1 -1
- package/dist/managed/projections.d.ts +5 -8
- package/dist/managed/projections.d.ts.map +1 -1
- package/dist/managed/projections.js +22 -2
- package/dist/managed/projections.js.map +1 -1
- package/dist/managed/query.d.ts +20 -6
- package/dist/managed/query.d.ts.map +1 -1
- package/dist/managed/query.js +97 -24
- package/dist/managed/query.js.map +1 -1
- package/dist/managed/runs.d.ts +2 -4
- package/dist/managed/runs.d.ts.map +1 -1
- package/dist/managed/runs.js +9 -1
- package/dist/managed/runs.js.map +1 -1
- package/dist/managed/watch.d.ts +2 -4
- package/dist/managed/watch.d.ts.map +1 -1
- package/dist/managed/watch.js +9 -1
- package/dist/managed/watch.js.map +1 -1
- package/dist/memory/handle.d.ts +75 -22
- package/dist/memory/handle.d.ts.map +1 -1
- package/dist/memory/handle.js +232 -58
- package/dist/memory/handle.js.map +1 -1
- package/dist/memory/log-memory.d.ts +24 -12
- package/dist/memory/log-memory.d.ts.map +1 -1
- package/dist/memory/log-memory.js +214 -100
- package/dist/memory/log-memory.js.map +1 -1
- package/dist/memory/topic.d.ts +2 -2
- package/dist/memory/topic.d.ts.map +1 -1
- package/dist/memory/topic.js +7 -5
- package/dist/memory/topic.js.map +1 -1
- package/dist/memory/types.d.ts +41 -5
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +44 -18
- package/dist/memory/types.js.map +1 -1
- package/dist/memory/vector-memory.d.ts +8 -6
- package/dist/memory/vector-memory.d.ts.map +1 -1
- package/dist/memory/vector-memory.js +65 -34
- package/dist/memory/vector-memory.js.map +1 -1
- package/dist/memory.d.ts +6 -5
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +4 -4
- package/dist/memory.js.map +1 -1
- package/dist/provenance/agent-topic.d.ts +3 -1
- package/dist/provenance/agent-topic.d.ts.map +1 -1
- package/dist/provenance/agent-topic.js +3 -1
- package/dist/provenance/agent-topic.js.map +1 -1
- package/dist/provenance/provenance.d.ts +3 -3
- package/dist/provenance/provenance.d.ts.map +1 -1
- package/dist/provenance/provenance.js +30 -18
- package/dist/provenance/provenance.js.map +1 -1
- package/dist/runtime/clock.d.ts +3 -0
- package/dist/runtime/clock.d.ts.map +1 -1
- package/dist/runtime/clock.js +16 -3
- package/dist/runtime/clock.js.map +1 -1
- package/dist/schema-codecs.d.ts +7 -3
- package/dist/schema-codecs.d.ts.map +1 -1
- package/dist/schema-codecs.js +80 -12
- package/dist/schema-codecs.js.map +1 -1
- package/dist/session.d.ts +27 -18
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +95 -37
- package/dist/session.js.map +1 -1
- package/dist/signing.d.ts +11 -5
- package/dist/signing.d.ts.map +1 -1
- package/dist/signing.js +64 -21
- package/dist/signing.js.map +1 -1
- package/dist/snapshot.d.ts +10 -2
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +62 -28
- package/dist/snapshot.js.map +1 -1
- package/dist/state-store.d.ts +1 -1
- package/dist/state-store.d.ts.map +1 -1
- package/dist/state-store.js.map +1 -1
- package/dist/stream/batching.d.ts +81 -0
- package/dist/stream/batching.d.ts.map +1 -0
- package/dist/stream/batching.js +210 -0
- package/dist/stream/batching.js.map +1 -0
- package/dist/stream/bson.d.ts +3 -0
- package/dist/stream/bson.d.ts.map +1 -0
- package/dist/stream/bson.js +245 -0
- package/dist/stream/bson.js.map +1 -0
- package/dist/stream/codecs.d.ts +58 -6
- package/dist/stream/codecs.d.ts.map +1 -1
- package/dist/stream/codecs.js +143 -59
- package/dist/stream/codecs.js.map +1 -1
- package/dist/stream/consumer-group.d.ts +13 -10
- package/dist/stream/consumer-group.d.ts.map +1 -1
- package/dist/stream/consumer-group.js +91 -31
- package/dist/stream/consumer-group.js.map +1 -1
- package/dist/stream/consumer-start.d.ts +17 -0
- package/dist/stream/consumer-start.d.ts.map +1 -0
- package/dist/stream/consumer-start.js +2 -0
- package/dist/stream/consumer-start.js.map +1 -0
- package/dist/stream/consumer.d.ts +166 -24
- package/dist/stream/consumer.d.ts.map +1 -1
- package/dist/stream/consumer.js +451 -68
- package/dist/stream/consumer.js.map +1 -1
- package/dist/stream/cursor.d.ts +5 -12
- package/dist/stream/cursor.d.ts.map +1 -1
- package/dist/stream/cursor.js +34 -8
- package/dist/stream/cursor.js.map +1 -1
- package/dist/stream/header-value.d.ts +61 -15
- package/dist/stream/header-value.d.ts.map +1 -1
- package/dist/stream/header-value.js.map +1 -1
- package/dist/stream/message.d.ts +17 -0
- package/dist/stream/message.d.ts.map +1 -0
- package/dist/stream/message.js +9 -0
- package/dist/stream/message.js.map +1 -0
- package/dist/stream/producer.d.ts +127 -11
- package/dist/stream/producer.d.ts.map +1 -1
- package/dist/stream/producer.js +401 -36
- package/dist/stream/producer.js.map +1 -1
- package/dist/stream/publish.d.ts +6 -15
- package/dist/stream/publish.d.ts.map +1 -1
- package/dist/stream/publish.js +18 -28
- package/dist/stream/publish.js.map +1 -1
- package/dist/stream/record.d.ts +4 -6
- package/dist/stream/record.d.ts.map +1 -1
- package/dist/stream/record.js +4 -3
- package/dist/stream/record.js.map +1 -1
- package/dist/stream/routing.d.ts +12 -0
- package/dist/stream/routing.d.ts.map +1 -1
- package/dist/stream/routing.js +6 -1
- package/dist/stream/routing.js.map +1 -1
- package/dist/stream/stream.d.ts +1 -4
- package/dist/stream/stream.d.ts.map +1 -1
- package/dist/stream/stream.js +5 -1
- package/dist/stream/stream.js.map +1 -1
- package/dist/stream/topic.d.ts +22 -23
- package/dist/stream/topic.d.ts.map +1 -1
- package/dist/stream/topic.js +90 -30
- package/dist/stream/topic.js.map +1 -1
- package/dist/stream/typed-topic.d.ts +9 -13
- package/dist/stream/typed-topic.d.ts.map +1 -1
- package/dist/stream/typed-topic.js +25 -10
- package/dist/stream/typed-topic.js.map +1 -1
- package/dist/swarm.d.ts +0 -1
- package/dist/swarm.d.ts.map +1 -1
- package/dist/swarm.js +1 -0
- package/dist/swarm.js.map +1 -1
- package/dist/testing.d.ts +3 -3
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +3 -3
- package/dist/testing.js.map +1 -1
- package/dist/types/ids.d.ts +17 -2
- package/dist/types/ids.d.ts.map +1 -1
- package/dist/types/ids.js +34 -14
- package/dist/types/ids.js.map +1 -1
- package/dist/wire/agent.d.ts +22 -0
- package/dist/wire/agent.d.ts.map +1 -1
- package/dist/wire/agent.js +80 -25
- package/dist/wire/agent.js.map +1 -1
- package/dist/wire/authz.d.ts +35 -1
- package/dist/wire/authz.d.ts.map +1 -1
- package/dist/wire/authz.js +45 -15
- package/dist/wire/authz.js.map +1 -1
- package/dist/wire/cbor.d.ts.map +1 -1
- package/dist/wire/cbor.js +13 -2
- package/dist/wire/cbor.js.map +1 -1
- package/dist/wire/checkpoint.d.ts +17 -12
- package/dist/wire/checkpoint.d.ts.map +1 -1
- package/dist/wire/checkpoint.js +28 -3
- package/dist/wire/checkpoint.js.map +1 -1
- package/dist/wire/control.d.ts +82 -0
- package/dist/wire/control.d.ts.map +1 -1
- package/dist/wire/control.js +219 -0
- package/dist/wire/control.js.map +1 -1
- package/dist/wire/filter-eval.d.ts +41 -7
- package/dist/wire/filter-eval.d.ts.map +1 -1
- package/dist/wire/filter-eval.js +26 -28
- package/dist/wire/filter-eval.js.map +1 -1
- package/dist/wire/filter.d.ts +51 -17
- package/dist/wire/filter.d.ts.map +1 -1
- package/dist/wire/filter.js +99 -10
- package/dist/wire/filter.js.map +1 -1
- package/dist/wire/fork.d.ts +14 -1
- package/dist/wire/fork.d.ts.map +1 -1
- package/dist/wire/fork.js +19 -8
- package/dist/wire/fork.js.map +1 -1
- package/dist/wire/graph.d.ts +3 -0
- package/dist/wire/graph.d.ts.map +1 -1
- package/dist/wire/graph.js +18 -4
- package/dist/wire/graph.js.map +1 -1
- package/dist/wire/hello.d.ts +4 -1
- package/dist/wire/hello.d.ts.map +1 -1
- package/dist/wire/hello.js +13 -3
- package/dist/wire/hello.js.map +1 -1
- package/dist/wire/index.d.ts +4 -1
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +4 -1
- package/dist/wire/index.js.map +1 -1
- package/dist/wire/kv.d.ts +37 -2
- package/dist/wire/kv.d.ts.map +1 -1
- package/dist/wire/kv.js +36 -18
- package/dist/wire/kv.js.map +1 -1
- package/dist/wire/query.d.ts +6 -0
- package/dist/wire/query.d.ts.map +1 -1
- package/dist/wire/query.js +38 -12
- package/dist/wire/query.js.map +1 -1
- package/dist/wire/schema.d.ts +29 -6
- package/dist/wire/schema.d.ts.map +1 -1
- package/dist/wire/schema.js +61 -26
- package/dist/wire/schema.js.map +1 -1
- package/dist/wire/snapshot.js +1 -1
- package/dist/wire/snapshot.js.map +1 -1
- package/dist/wire/value.d.ts +10 -2
- package/dist/wire/value.d.ts.map +1 -1
- package/dist/wire/value.js +29 -3
- package/dist/wire/value.js.map +1 -1
- package/package.json +2 -3
- package/dist/stream/polling-strategy.d.ts +0 -14
- package/dist/stream/polling-strategy.d.ts.map +0 -1
- package/dist/stream/polling-strategy.js +0 -2
- package/dist/stream/polling-strategy.js.map +0 -1
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { managedCapabilitiesFrom } from "../client/capabilities.js";
|
|
2
|
+
import { decodeManagedReply } from "../client/managed.js";
|
|
3
|
+
import { isRetryable } from "../agent/reliable-consumer.js";
|
|
4
|
+
import { isPermissionDenied } from "../client/error-classify.js";
|
|
5
|
+
import { AmbiguousMutationError, ConfigError, InvalidError, KvExecutionError, LaserError, ProtocolError, TimeoutError, TransportError, UnsupportedError } from "../client/errors.js";
|
|
6
|
+
import { ApacheIggyTransport } from "../iggy/apache-iggy.js";
|
|
7
|
+
import { mintUlidValue } from "../runtime/ulid.js";
|
|
8
|
+
import { decodeOne, encodeNamed } from "../wire/cbor.js";
|
|
9
|
+
import { AGDX_HELLO_CODE, AGDX_KV_CAS_FENCED_CODE, AGDX_KV_GET_CODE, AGDX_KV_LEASE_CODE, AGDX_KV_LEASE_RENEW_CODE, AGDX_KV_RELEASE_CODE } from "../wire/codes.js";
|
|
10
|
+
import { decodeBackendAnnounce } from "../wire/hello.js";
|
|
11
|
+
import { decodeKvReply, encodeKvCasFenced, encodeKvGet, encodeKvLease, encodeKvLeaseRenew, encodeKvRelease } from "../wire/kv.js";
|
|
12
|
+
import { encodeManagedRequestEnvelope, MANAGED_REQUEST_VERSION } from "../wire/mutation.js";
|
|
13
|
+
export const DEFAULT_ATTEMPT_TIMEOUT_MS = 10_000;
|
|
14
|
+
const MAX_TIMER_MILLIS = 2147483647n;
|
|
15
|
+
const preparedOperations = new WeakMap();
|
|
16
|
+
function within(pending, milliseconds, what) {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
let settled = false;
|
|
19
|
+
let timer;
|
|
20
|
+
const deadline = Date.now() + milliseconds;
|
|
21
|
+
const complete = (finish) => {
|
|
22
|
+
if (settled)
|
|
23
|
+
return;
|
|
24
|
+
settled = true;
|
|
25
|
+
clearTimeout(timer);
|
|
26
|
+
finish();
|
|
27
|
+
};
|
|
28
|
+
const tick = () => {
|
|
29
|
+
const remaining = deadline - Date.now();
|
|
30
|
+
if (remaining <= 0)
|
|
31
|
+
complete(() => {
|
|
32
|
+
reject(new TimeoutError(what));
|
|
33
|
+
});
|
|
34
|
+
else
|
|
35
|
+
timer = setTimeout(tick, Math.min(remaining, 2_147_483_647));
|
|
36
|
+
};
|
|
37
|
+
tick();
|
|
38
|
+
pending.then((value) => {
|
|
39
|
+
complete(() => {
|
|
40
|
+
resolve(value);
|
|
41
|
+
});
|
|
42
|
+
}, (error) => {
|
|
43
|
+
complete(() => {
|
|
44
|
+
reject(error instanceof Error ? error : new TransportError(what, true, { cause: error }));
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function outcome(bytes) {
|
|
50
|
+
const reply = decodeManagedReply((value) => decodeKvReply(decodeOne(value, "KvReply"), "KvReply"), bytes);
|
|
51
|
+
if (reply.kind === "ok")
|
|
52
|
+
return reply.outcome;
|
|
53
|
+
if (reply.kind === "err") {
|
|
54
|
+
throw new KvExecutionError(`kv coordination failed: ${reply.error.kind}`, reply.error);
|
|
55
|
+
}
|
|
56
|
+
throw new ProtocolError("kv coordination: unknown reply variant");
|
|
57
|
+
}
|
|
58
|
+
function lease(value, expected) {
|
|
59
|
+
if (value.kind !== expected)
|
|
60
|
+
throw new ProtocolError(`kv coordination ${expected}: unexpected outcome ${value.kind}`);
|
|
61
|
+
return {
|
|
62
|
+
token: value.leaseToken,
|
|
63
|
+
grantedTtlMicros: value.grantedTtlMicros,
|
|
64
|
+
position: value.position
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export class DedicatedKvTransport {
|
|
68
|
+
connectionString;
|
|
69
|
+
transport;
|
|
70
|
+
opening;
|
|
71
|
+
resetting;
|
|
72
|
+
generation = 0;
|
|
73
|
+
supported = false;
|
|
74
|
+
closed = false;
|
|
75
|
+
constructor(connectionString) {
|
|
76
|
+
this.connectionString = connectionString;
|
|
77
|
+
}
|
|
78
|
+
async ready() {
|
|
79
|
+
await this.resetting;
|
|
80
|
+
if (this.closed)
|
|
81
|
+
throw new TransportError("coordination transport is closed", false);
|
|
82
|
+
const generation = this.generation;
|
|
83
|
+
if (this.transport === undefined) {
|
|
84
|
+
this.opening ??= ApacheIggyTransport.connect(this.connectionString);
|
|
85
|
+
const opening = this.opening;
|
|
86
|
+
try {
|
|
87
|
+
const transport = await opening;
|
|
88
|
+
if (this.retired(generation)) {
|
|
89
|
+
await transport.close().catch(() => undefined);
|
|
90
|
+
throw new TimeoutError("kv coordination connect");
|
|
91
|
+
}
|
|
92
|
+
this.transport = transport;
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
if (this.opening === opening)
|
|
96
|
+
this.opening = undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const transport = this.transport;
|
|
100
|
+
if (!this.supported) {
|
|
101
|
+
let supported = false;
|
|
102
|
+
try {
|
|
103
|
+
const reply = await transport.sendManaged(AGDX_HELLO_CODE, new Uint8Array());
|
|
104
|
+
supported = managedCapabilitiesFrom(decodeBackendAnnounce(reply)).kv.fencedLeases;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// A failed probe does not advertise fenced leases.
|
|
108
|
+
}
|
|
109
|
+
if (this.retired(generation, transport))
|
|
110
|
+
throw new TimeoutError("kv coordination connect");
|
|
111
|
+
this.supported = supported;
|
|
112
|
+
}
|
|
113
|
+
if (!this.supported)
|
|
114
|
+
throw new UnsupportedError("the fenced-lease contract is not advertised by this deployment");
|
|
115
|
+
}
|
|
116
|
+
retired(generation, transport) {
|
|
117
|
+
return (this.closed ||
|
|
118
|
+
generation !== this.generation ||
|
|
119
|
+
(transport !== undefined && transport !== this.transport));
|
|
120
|
+
}
|
|
121
|
+
async send(code, frame) {
|
|
122
|
+
if (this.closed)
|
|
123
|
+
throw new TransportError("coordination transport is closed", false);
|
|
124
|
+
const transport = this.transport;
|
|
125
|
+
if (transport === undefined)
|
|
126
|
+
throw new InvalidError("coordination transport is not ready");
|
|
127
|
+
return transport.sendManagedPreframed(code, frame, { retryAfterReconnect: false });
|
|
128
|
+
}
|
|
129
|
+
async reset() {
|
|
130
|
+
if (this.resetting !== undefined)
|
|
131
|
+
return this.resetting;
|
|
132
|
+
this.generation += 1;
|
|
133
|
+
const retired = this.transport;
|
|
134
|
+
const opening = this.opening;
|
|
135
|
+
this.transport = undefined;
|
|
136
|
+
this.opening = undefined;
|
|
137
|
+
this.supported = false;
|
|
138
|
+
const resetting = (async () => {
|
|
139
|
+
if (retired !== undefined)
|
|
140
|
+
await retired.close().catch(() => undefined);
|
|
141
|
+
if (opening !== undefined) {
|
|
142
|
+
try {
|
|
143
|
+
await (await opening).close();
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
// The failed dial retained no connection.
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
})();
|
|
150
|
+
this.resetting = resetting;
|
|
151
|
+
try {
|
|
152
|
+
await resetting;
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
if (this.resetting === resetting)
|
|
156
|
+
this.resetting = undefined;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
async close() {
|
|
160
|
+
this.closed = true;
|
|
161
|
+
await this.reset();
|
|
162
|
+
}
|
|
163
|
+
[Symbol.asyncDispose]() {
|
|
164
|
+
return this.close();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/** Prepare once, then repeat the same operation only when its recovery permits it. */
|
|
168
|
+
export class FencedLeaseClient {
|
|
169
|
+
transport;
|
|
170
|
+
clientId = mintUlidValue();
|
|
171
|
+
attemptTimeoutMs = DEFAULT_ATTEMPT_TIMEOUT_MS;
|
|
172
|
+
active = 0;
|
|
173
|
+
closed = false;
|
|
174
|
+
closing;
|
|
175
|
+
constructor(transport) {
|
|
176
|
+
this.transport = transport;
|
|
177
|
+
}
|
|
178
|
+
static connectDedicated(connectionString) {
|
|
179
|
+
return new FencedLeaseClient(new DedicatedKvTransport(connectionString));
|
|
180
|
+
}
|
|
181
|
+
withAttemptTimeout(milliseconds) {
|
|
182
|
+
if (!Number.isFinite(milliseconds) || milliseconds < 0)
|
|
183
|
+
throw new InvalidError("coordination attempt timeout must be a non-negative finite number");
|
|
184
|
+
if (this.active !== 0)
|
|
185
|
+
throw new InvalidError("cannot change the timeout during an attempt");
|
|
186
|
+
this.attemptTimeoutMs = milliseconds;
|
|
187
|
+
return this;
|
|
188
|
+
}
|
|
189
|
+
prepareAcquire(request) {
|
|
190
|
+
return this.prepare(AGDX_KV_LEASE_CODE, encodeKvLease(request), {
|
|
191
|
+
kind: "waitForLeaseExpiry",
|
|
192
|
+
ttlMicros: request.leaseTtlMicros
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
prepareRenew(request) {
|
|
196
|
+
return this.prepare(AGDX_KV_LEASE_RENEW_CODE, encodeKvLeaseRenew(request), {
|
|
197
|
+
kind: "repeatPrepared"
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
prepareRelease(request) {
|
|
201
|
+
return this.prepare(AGDX_KV_RELEASE_CODE, encodeKvRelease(request), { kind: "repeatPrepared" });
|
|
202
|
+
}
|
|
203
|
+
prepareCasFenced(request) {
|
|
204
|
+
return this.prepare(AGDX_KV_CAS_FENCED_CODE, encodeKvCasFenced(request), {
|
|
205
|
+
kind: "reconcileTargetPrecondition"
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
async acquire(operation) {
|
|
209
|
+
return lease(await this.execute(operation, AGDX_KV_LEASE_CODE, "acquire"), "leased");
|
|
210
|
+
}
|
|
211
|
+
async renew(operation) {
|
|
212
|
+
return lease(await this.execute(operation, AGDX_KV_LEASE_RENEW_CODE, "renew"), "renewed");
|
|
213
|
+
}
|
|
214
|
+
async release(operation) {
|
|
215
|
+
const value = await this.execute(operation, AGDX_KV_RELEASE_CODE, "release");
|
|
216
|
+
if (value.kind !== "released")
|
|
217
|
+
throw new ProtocolError(`kv coordination release: unexpected outcome ${value.kind}`);
|
|
218
|
+
return value.wasHeld;
|
|
219
|
+
}
|
|
220
|
+
async casFenced(operation) {
|
|
221
|
+
const value = await this.execute(operation, AGDX_KV_CAS_FENCED_CODE, "cas_fenced");
|
|
222
|
+
if (value.kind !== "committed")
|
|
223
|
+
throw new ProtocolError(`kv coordination cas_fenced: unexpected outcome ${value.kind}`);
|
|
224
|
+
return value.version;
|
|
225
|
+
}
|
|
226
|
+
async get(request) {
|
|
227
|
+
this.ensureTimeout();
|
|
228
|
+
this.active += 1;
|
|
229
|
+
try {
|
|
230
|
+
await this.ready();
|
|
231
|
+
let bytes;
|
|
232
|
+
try {
|
|
233
|
+
bytes = await within(this.transport.send(AGDX_KV_GET_CODE, encodeNamed(encodeKvGet(request))), this.attemptTimeoutMs, "kv coordination get");
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
await this.transport.reset();
|
|
237
|
+
throw error;
|
|
238
|
+
}
|
|
239
|
+
const value = outcome(bytes);
|
|
240
|
+
if (value.kind !== "value")
|
|
241
|
+
throw new ProtocolError(`kv coordination get: unexpected outcome ${value.kind}`);
|
|
242
|
+
return value.entry;
|
|
243
|
+
}
|
|
244
|
+
finally {
|
|
245
|
+
this.active -= 1;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
async close() {
|
|
249
|
+
this.closed = true;
|
|
250
|
+
this.closing ??= this.transport.close?.() ?? this.transport.reset();
|
|
251
|
+
return this.closing;
|
|
252
|
+
}
|
|
253
|
+
[Symbol.asyncDispose]() {
|
|
254
|
+
return this.close();
|
|
255
|
+
}
|
|
256
|
+
ensureTimeout() {
|
|
257
|
+
if (this.closed)
|
|
258
|
+
throw new TransportError("fenced-lease client is closed", false);
|
|
259
|
+
if (this.attemptTimeoutMs === 0)
|
|
260
|
+
throw new InvalidError("coordination attempt timeout must be greater than zero");
|
|
261
|
+
}
|
|
262
|
+
prepare(code, request, ambiguousRecovery) {
|
|
263
|
+
const operationId = mintUlidValue();
|
|
264
|
+
const operation = Object.freeze({
|
|
265
|
+
operationId,
|
|
266
|
+
ambiguousRecovery: Object.freeze(ambiguousRecovery)
|
|
267
|
+
});
|
|
268
|
+
preparedOperations.set(operation, {
|
|
269
|
+
clientId: this.clientId,
|
|
270
|
+
code,
|
|
271
|
+
frame: encodeNamed(encodeManagedRequestEnvelope({
|
|
272
|
+
v: MANAGED_REQUEST_VERSION,
|
|
273
|
+
operationId,
|
|
274
|
+
payload: encodeNamed(request)
|
|
275
|
+
}))
|
|
276
|
+
});
|
|
277
|
+
return operation;
|
|
278
|
+
}
|
|
279
|
+
async ready() {
|
|
280
|
+
try {
|
|
281
|
+
await within(this.transport.ready?.() ?? Promise.resolve(), this.attemptTimeoutMs, "kv coordination connect");
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
if (!(error instanceof UnsupportedError))
|
|
285
|
+
await this.transport.reset();
|
|
286
|
+
throw error;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
async execute(operation, code, what) {
|
|
290
|
+
this.ensureTimeout();
|
|
291
|
+
const prepared = preparedOperations.get(operation);
|
|
292
|
+
if (prepared?.clientId !== this.clientId)
|
|
293
|
+
throw new InvalidError("prepared mutation belongs to a different fenced-lease client");
|
|
294
|
+
if (prepared.code !== code)
|
|
295
|
+
throw new InvalidError(`prepared mutation carries code ${String(prepared.code)} but was executed as ${what}`);
|
|
296
|
+
this.active += 1;
|
|
297
|
+
try {
|
|
298
|
+
await this.ready();
|
|
299
|
+
let bytes;
|
|
300
|
+
try {
|
|
301
|
+
bytes = await within(this.transport.send(code, prepared.frame.slice()), this.attemptTimeoutMs, `kv coordination ${what}`);
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
await this.transport.reset();
|
|
305
|
+
if (!(error instanceof LaserError) || !isRetryable(error) || isPermissionDenied(error))
|
|
306
|
+
throw error;
|
|
307
|
+
throw new AmbiguousMutationError(`${what} failed mid-request and requires operation-specific recovery`, { cause: error });
|
|
308
|
+
}
|
|
309
|
+
return outcome(bytes);
|
|
310
|
+
}
|
|
311
|
+
finally {
|
|
312
|
+
this.active -= 1;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/** Serializes one client's lease acquisitions over a dedicated coordination
|
|
317
|
+
* connection. An ambiguous acquisition waits out the requested TTL before it
|
|
318
|
+
* reports, so a caller cannot race a grant it never saw. The recovery keeps
|
|
319
|
+
* running when the caller stops waiting. */
|
|
320
|
+
export class LeaseCoordinator {
|
|
321
|
+
client;
|
|
322
|
+
queue = Promise.resolve();
|
|
323
|
+
/** Without a client every acquisition fails with `ConfigError`, as for an
|
|
324
|
+
* injected Iggy client that has no connection string to dial. */
|
|
325
|
+
constructor(client) {
|
|
326
|
+
this.client = client;
|
|
327
|
+
}
|
|
328
|
+
static forConnection(connectionString) {
|
|
329
|
+
return new LeaseCoordinator(connectionString === undefined
|
|
330
|
+
? undefined
|
|
331
|
+
: FencedLeaseClient.connectDedicated(connectionString));
|
|
332
|
+
}
|
|
333
|
+
acquire(request) {
|
|
334
|
+
const acquired = this.queue.then(() => this.acquireNow(request));
|
|
335
|
+
this.queue = acquired.catch(() => undefined);
|
|
336
|
+
return acquired;
|
|
337
|
+
}
|
|
338
|
+
async close() {
|
|
339
|
+
await this.client?.close();
|
|
340
|
+
}
|
|
341
|
+
[Symbol.asyncDispose]() {
|
|
342
|
+
return this.close();
|
|
343
|
+
}
|
|
344
|
+
async acquireNow(request) {
|
|
345
|
+
const client = this.client;
|
|
346
|
+
if (client === undefined) {
|
|
347
|
+
throw new ConfigError("lease acquisition needs a connection-backed Laser, use FencedLeaseClient with a dedicated transport for an injected client");
|
|
348
|
+
}
|
|
349
|
+
try {
|
|
350
|
+
return await client.acquire(client.prepareAcquire(request));
|
|
351
|
+
}
|
|
352
|
+
catch (error) {
|
|
353
|
+
if (error instanceof AmbiguousMutationError)
|
|
354
|
+
await waitForLeaseExpiry(request.leaseTtlMicros);
|
|
355
|
+
throw error;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
async function waitForLeaseExpiry(leaseTtlMicros) {
|
|
360
|
+
let millis = (leaseTtlMicros + 999n) / 1000n;
|
|
361
|
+
while (millis > 0n) {
|
|
362
|
+
const chunk = millis > MAX_TIMER_MILLIS ? MAX_TIMER_MILLIS : millis;
|
|
363
|
+
await new Promise((resolve) => setTimeout(resolve, Number(chunk)));
|
|
364
|
+
millis -= chunk;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
//# sourceMappingURL=coordination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination.js","sourceRoot":"","sources":["../../src/managed/coordination.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { Capabilities } from "../client/capabilities.js";
|
|
2
|
-
import { type ManagedTransport } from "../client/managed.js";
|
|
3
1
|
import { type CheckpointMutationResult, type CheckpointReadConsistency, type CompletedAttempt, type DestinationBlock, type DestinationBlockCode, type DestinationCheckpointPage, type DestinationCheckpointView, type DestinationListFilter, type PreparedAttempt, type PublicCheckpointMutation, type QueryRoutePage, type RepairRecord, type RetentionGap, type SupervisorActorAssertion } from "../wire/checkpoint.js";
|
|
4
2
|
import type { DestinationDesiredState, MaterializationDestination, QueryRoute } from "../wire/destination.js";
|
|
5
3
|
import { type CheckpointOwnerId, type DestinationId, type QueryRouteId } from "../wire/ids.js";
|
|
6
4
|
export declare class Destinations {
|
|
7
5
|
private readonly transport;
|
|
8
6
|
private readonly capabilities;
|
|
9
|
-
constructor(
|
|
7
|
+
private constructor();
|
|
10
8
|
mutate(expectedGlobalStateRevision: bigint, mutation: PublicCheckpointMutation, supervisorAssertion?: SupervisorActorAssertion): Promise<CheckpointMutationResult>;
|
|
9
|
+
/** A mutation carried under a supervisor actor assertion. The request id is
|
|
10
|
+
* the one the assertion's claims name. */
|
|
11
|
+
mutateWithSupervisorAssertion(expectedGlobalStateRevision: bigint, mutation: PublicCheckpointMutation, supervisorAssertion: SupervisorActorAssertion): Promise<CheckpointMutationResult>;
|
|
11
12
|
register(expectedGlobalStateRevision: bigint, destination: MaterializationDestination): Promise<CheckpointMutationResult>;
|
|
12
13
|
setDesiredState(expectedGlobalStateRevision: bigint, destinationId: DestinationId, destinationGeneration: bigint, expectedDefinitionRevision: bigint, desiredState: DestinationDesiredState): Promise<CheckpointMutationResult>;
|
|
13
14
|
bindTable(expectedGlobalStateRevision: bigint, destinationId: DestinationId, destinationGeneration: bigint, expectedDefinitionRevision: bigint, tableUuid: Uint8Array): Promise<CheckpointMutationResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destinations.d.ts","sourceRoot":"","sources":["../../src/managed/destinations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"destinations.d.ts","sourceRoot":"","sources":["../../src/managed/destinations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CheckpointExecutionError, ProtocolError } from "../client/errors.js";
|
|
2
2
|
import { executeManaged } from "../client/managed.js";
|
|
3
3
|
import { mintUlidValue } from "../runtime/ulid.js";
|
|
4
4
|
import { CHECKPOINT_OP_VERSION } from "../wire/codes.js";
|
|
@@ -12,18 +12,34 @@ export class Destinations {
|
|
|
12
12
|
this.transport = transport;
|
|
13
13
|
this.capabilities = capabilities;
|
|
14
14
|
}
|
|
15
|
+
/** @internal */
|
|
16
|
+
static create(transport, capabilities) {
|
|
17
|
+
return new Destinations(transport, capabilities);
|
|
18
|
+
}
|
|
19
|
+
/** Sends one checkpoint request envelope, the deep form behind every
|
|
20
|
+
* mutation helper and `Laser.executeCheckpoint`.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
async executeCheckpoint(request) {
|
|
25
|
+
const reply = await executeManaged(this.transport, await this.capabilities(), CheckpointCommand, request);
|
|
26
|
+
if (reply.kind === "ok")
|
|
27
|
+
return reply.result;
|
|
28
|
+
throw new CheckpointExecutionError(`checkpoint mutation failed: ${reply.error.kind}`, reply.error);
|
|
29
|
+
}
|
|
15
30
|
async mutate(expectedGlobalStateRevision, mutation, supervisorAssertion) {
|
|
16
|
-
|
|
31
|
+
return this.executeCheckpoint({
|
|
17
32
|
v: CHECKPOINT_OP_VERSION,
|
|
18
33
|
requestId: supervisorAssertion?.claims.requestId ?? CheckpointRequestId.fromU128(mintUlidValue()),
|
|
19
34
|
expectedGlobalStateRevision,
|
|
20
35
|
mutation,
|
|
21
36
|
...(supervisorAssertion === undefined ? {} : { supervisorAssertion })
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/** A mutation carried under a supervisor actor assertion. The request id is
|
|
40
|
+
* the one the assertion's claims name. */
|
|
41
|
+
mutateWithSupervisorAssertion(expectedGlobalStateRevision, mutation, supervisorAssertion) {
|
|
42
|
+
return this.mutate(expectedGlobalStateRevision, mutation, supervisorAssertion);
|
|
27
43
|
}
|
|
28
44
|
register(expectedGlobalStateRevision, destination) {
|
|
29
45
|
return this.mutate(expectedGlobalStateRevision, { kind: "register_destination", destination });
|
|
@@ -177,9 +193,9 @@ export class Destinations {
|
|
|
177
193
|
if (reply.kind === "destination")
|
|
178
194
|
return reply.destination;
|
|
179
195
|
if (reply.kind === "err") {
|
|
180
|
-
throw new
|
|
196
|
+
throw new CheckpointExecutionError(`destination read failed: ${reply.error.kind}`, reply.error);
|
|
181
197
|
}
|
|
182
|
-
throw new
|
|
198
|
+
throw new ProtocolError("destination read returned an unexpected reply");
|
|
183
199
|
}
|
|
184
200
|
async list(consistency, filter = {}, after, limit = 100) {
|
|
185
201
|
const reply = await executeManaged(this.transport, await this.capabilities(), DestinationListCommand, {
|
|
@@ -192,9 +208,9 @@ export class Destinations {
|
|
|
192
208
|
if (reply.kind === "destinations")
|
|
193
209
|
return reply.page;
|
|
194
210
|
if (reply.kind === "err") {
|
|
195
|
-
throw new
|
|
211
|
+
throw new CheckpointExecutionError(`destination list failed: ${reply.error.kind}`, reply.error);
|
|
196
212
|
}
|
|
197
|
-
throw new
|
|
213
|
+
throw new ProtocolError("destination list returned an unexpected reply");
|
|
198
214
|
}
|
|
199
215
|
async queryRoutes(consistency, nameContains, after, limit = 100) {
|
|
200
216
|
const reply = await executeManaged(this.transport, await this.capabilities(), QueryRouteListCommand, {
|
|
@@ -207,9 +223,9 @@ export class Destinations {
|
|
|
207
223
|
if (reply.kind === "query_routes")
|
|
208
224
|
return reply.page;
|
|
209
225
|
if (reply.kind === "err") {
|
|
210
|
-
throw new
|
|
226
|
+
throw new CheckpointExecutionError(`query route list failed: ${reply.error.kind}`, reply.error);
|
|
211
227
|
}
|
|
212
|
-
throw new
|
|
228
|
+
throw new ProtocolError("query route list returned an unexpected reply");
|
|
213
229
|
}
|
|
214
230
|
}
|
|
215
231
|
//# sourceMappingURL=destinations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destinations.js","sourceRoot":"","sources":["../../src/managed/destinations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"destinations.js","sourceRoot":"","sources":["../../src/managed/destinations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Capabilities } from "../client/capabilities.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type LaserTransport } from "../iggy/apache-iggy.js";
|
|
3
|
+
import type { ConsumerMessage } from "../stream/consumer.js";
|
|
3
4
|
import { type AppliedPolicy, type CatalogPosition, type ConsumerFilter, type FilterBinding, type FilterBindingPage, type FilterGroupIdentity, type FilterGroupRef, type FilterHeader, type FilterMutation, type FilterMutationOutcome, type FilterPreview, type FilterRef, type FilterRevisionPage, type FilterRevisionRef, type FilterSource, type FilterTestResult, type FilteredStart, type GroupFilterSpec, type ReadMode, type SourceGeneration, type StopReason } from "../wire/filter.js";
|
|
4
5
|
/** How long the typed catalog verbs wait for a mutation's authoritative outcome. */
|
|
5
6
|
export declare const DEFAULT_OUTCOME_WAIT_MS = 30000;
|
|
@@ -45,10 +46,9 @@ export interface MatchedRecord {
|
|
|
45
46
|
readonly frontier: bigint;
|
|
46
47
|
/** `false` when the filter could not evaluate the record and a `pass` fault, foreign-record, or mismatch policy returned it unevaluated. */
|
|
47
48
|
readonly evaluated: boolean;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
readonly timestampMicros?: bigint;
|
|
49
|
+
/** The record as stored: payload, typed headers, id, and timestamps. Its
|
|
50
|
+
* `currentOffset` is the partition head when the record was read. */
|
|
51
|
+
readonly message: ConsumerMessage;
|
|
52
52
|
readonly [READER_TAG]?: ReaderTag;
|
|
53
53
|
}
|
|
54
54
|
export interface FilterPreviewOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/managed/filters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/managed/filters.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAgB7D,OAAO,EAGL,KAAK,cAAc,EAKpB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAoB5D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAItB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAI1B,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAIrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAahB,MAAM,mBAAmB,CAAA;AAmB1B,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAsB7C;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,OAAO,MAAuC,CAAA;AAEvE,yEAAyE;AACzE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,uEAAuE;AACvE,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,cAAc,EACZ,aAAa,GACb,mBAAmB,GACnB,oBAAoB,GACpB,2BAA2B,GAC3B,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,CAClB,CAAA;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAA;IAC1C,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAA;CAClC;AAED,qKAAqK;AACrK,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC,6EAA6E;IAC7E,IAAI,IAAI,OAAO,CAAA;IACf,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,4IAA4I;IAC5I,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B;yEACqE;IACrE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;CAC3C;AAED;;;;;GAKG;AACH,qBAAa,OAAO;IAEhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAF/B,YACmB,SAAS,EAAE,eAAe,EAC1B,YAAY,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,EACxD;IAEJ,2EAA2E;IACrE,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpC;IAED,6EAA6E;IACvE,IAAI,CACR,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,GAAE,SAAS,YAAY,EAAO,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAW3B;IAED,qGAAqG;IAC/F,OAAO,CACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,aAAa,CAAC,CAexB;IAED,sDAAsD;IAChD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW/F;IAoCD,4FAA4F;IACtF,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAK3D;IAED,oGAAoG;IAC9F,QAAQ,CACZ,OAAO,GAAE,kBAAkB,GAAG;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KACnB,GACL,OAAO,CAAC,iBAAiB,CAAC,CAa5B;IAED,uGAAuG;IACjG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAOnE;IAED,uEAAuE;IACjE,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAI5B;IAED,oFAAoF;IAC9E,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5F;IAED;;;;;;OAMG;IACG,cAAc,CAClB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,EACvB,WAAW,GAAE,MAAwB,EACrC,gBAAgB,CAAC,EAAE,mBAAmB,GACrC,OAAO,CAAC,eAAe,CAAC,CAS1B;IAED;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CASnE;IAED,yFAAyF;IACnF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAM1F;YAOa,KAAK;YAeL,cAAc;YAqBd,MAAM;YAoBN,MAAM;YASN,OAAO;CAQtB;AA6BD,oGAAoG;AACpG,qBAAa,qBAAqB;IAY9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAjBtC,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAEvD,OAAO,eAQH;IAuBJ;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAGhC;IAED,8FAA8F;IAC9F,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAMnC;IAED,sCAAsC;IACtC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGzB;IAED;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGjC;IAED,2DAA2D;IAC3D,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGjC;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAG7B;IAED,qGAAqG;IACrG,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGjC;IAED;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAKvC;IAED,6EAA6E;IAC7E,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKnC;IAEK,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,CAwErC;CACF;AA6BD;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,YAAW,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC;IAkB9D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAjB7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAA+B;IAGnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C,OAAO,eAON;IAOD,uGAAuG;IACjG,QAAQ,CAAC,OAAO,GAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAUlF;IAED;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAMpD;IAED,qFAAqF;IAC/E,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAGtE;IAED,gFAAgF;IAChF,eAAe,IAAI,MAAM,CAExB;IAED,+DAA+D;IACzD,UAAU,CAAC,OAAO,GAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAStF;IAED,sEAAsE;IAChE,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9C;IAED,oGAAoG;IAC9F,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrD;IAED,kFAAkF;IAC5E,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9C;IAsCD,4CAA4C;IAC5C,UAAU,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,wEAAwE;IACxE,cAAc,IAAI,MAAM,CAEvB;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,GAAG,OAAO,CAIhD;IAED;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA0B3B;IAEK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3C;IAEM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,CAE5D;YAMa,KAAK;YAoDL,IAAI;IA6IlB,OAAO,CAAC,YAAY;YAiBN,KAAK;YA2CL,QAAQ;YAuCR,iBAAiB;IA2C/B,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,sBAAsB;CAQ/B;AA6fD,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;CACvC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,EAC/C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAgGD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAS/F"}
|