@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../src/memory/handle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../src/memory/handle.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/handle.js
CHANGED
|
@@ -1,108 +1,222 @@
|
|
|
1
|
+
import { InvalidError, UnsupportedError } from "../client/errors.js";
|
|
2
|
+
import { ConversationId } from "../types/ids.js";
|
|
1
3
|
import { LogMemory } from "./log-memory.js";
|
|
2
4
|
import { Lifetime, MemoryId, MemoryKind, RecallStrategy, toContextBlock } from "./types.js";
|
|
3
|
-
import { VectorMemory } from "./vector-memory.js";
|
|
5
|
+
import { VectorMemory, WITH_EMBEDDER } from "./vector-memory.js";
|
|
6
|
+
// How many items one consolidation pass recalls and operates over.
|
|
7
|
+
const CONSOLIDATION_WINDOW = 10_000;
|
|
4
8
|
export const MemoryBackend = { Auto: "auto", Log: "log", Vector: "vector" };
|
|
5
9
|
export class MemoryHandle {
|
|
6
|
-
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
10
|
+
store;
|
|
11
|
+
constructor(store) {
|
|
12
|
+
this.store = store;
|
|
9
13
|
}
|
|
14
|
+
/** @internal */
|
|
15
|
+
static create(store) {
|
|
16
|
+
return new MemoryHandle(store);
|
|
17
|
+
}
|
|
18
|
+
/** Which backend this handle resolved to: `log` for the durable stream
|
|
19
|
+
* model, `vector` for the in-process similarity index, `custom` for a
|
|
20
|
+
* caller-supplied backend. A reranked handle reports its inner backend. */
|
|
21
|
+
get backend() {
|
|
22
|
+
return backendKindOf(this.store);
|
|
23
|
+
}
|
|
24
|
+
/** @internal */
|
|
10
25
|
static log(laser, namespace) {
|
|
11
26
|
return new MemoryHandle(new LogMemory(laser, namespace));
|
|
12
27
|
}
|
|
13
|
-
/**
|
|
28
|
+
/** @internal */
|
|
14
29
|
static logTopic(laser, topic, stream) {
|
|
15
30
|
return new MemoryHandle(new LogMemory(laser, topic, topic, stream));
|
|
16
31
|
}
|
|
32
|
+
/** A standalone in-process vector handle over `embedder`, with no `Laser`
|
|
33
|
+
* and no governance. */
|
|
17
34
|
static vector(embedder) {
|
|
18
35
|
return new MemoryHandle(new VectorMemory(embedder));
|
|
19
36
|
}
|
|
37
|
+
/** @internal */
|
|
20
38
|
static governedVector(laser, embedder) {
|
|
21
39
|
return new MemoryHandle(VectorMemory.governed(laser, embedder));
|
|
22
40
|
}
|
|
41
|
+
/** @internal */
|
|
23
42
|
static custom(memory) {
|
|
24
|
-
|
|
43
|
+
const append = memory.append?.bind(memory);
|
|
44
|
+
return new MemoryHandle({
|
|
45
|
+
...(append === undefined ? {} : { append }),
|
|
46
|
+
remember: (scope, payload) => memory.remember(scope, payload),
|
|
47
|
+
recall: (scope, query) => memory.recall(scope, query),
|
|
48
|
+
improve: (scope, feedback) => memory.improve(scope, feedback),
|
|
49
|
+
forget: (scope, id) => memory.forget(scope, id)
|
|
50
|
+
});
|
|
25
51
|
}
|
|
26
52
|
remember(scopeOrPayload, payload) {
|
|
27
53
|
if (scopeOrPayload instanceof Uint8Array)
|
|
28
|
-
return
|
|
29
|
-
return this.
|
|
54
|
+
return RememberBuilder.create(this, scopeOrPayload);
|
|
55
|
+
return this.store.remember(scopeOrPayload, required(payload));
|
|
30
56
|
}
|
|
31
57
|
recall(scope, query) {
|
|
32
58
|
if (scope === undefined)
|
|
33
|
-
return
|
|
34
|
-
|
|
59
|
+
return RecallBuilder.create(this);
|
|
60
|
+
if (scope instanceof ConversationId)
|
|
61
|
+
return RecallBuilder.create(this, scope);
|
|
62
|
+
return this.store.recall(scope, query ?? {});
|
|
35
63
|
}
|
|
36
64
|
/** Recall by folding the memory topic in process instead of reading the
|
|
37
65
|
* managed view. The log backend folds, the vector backend is already in
|
|
38
66
|
* process, and a reranked backend folds its inner backend then reranks. */
|
|
39
67
|
recallFolded(scope, query) {
|
|
40
|
-
return recallFoldedOn(this.
|
|
68
|
+
return recallFoldedOn(this.store, scope, query);
|
|
41
69
|
}
|
|
70
|
+
/** Records `feedback` on the item it targets. The built-in backends address
|
|
71
|
+
* the item by id alone, and `scope` only stamps the feedback record's
|
|
72
|
+
* provenance. */
|
|
42
73
|
improve(scope, feedback) {
|
|
43
|
-
return this.
|
|
74
|
+
return this.store.improve(scope, feedback);
|
|
44
75
|
}
|
|
76
|
+
/** Forgets the item `id`. The built-in backends address the item by id
|
|
77
|
+
* alone, so an item remembered under another scope is forgotten too, and
|
|
78
|
+
* `scope` only stamps the tombstone's provenance. */
|
|
45
79
|
forget(scope, id) {
|
|
46
|
-
return this.
|
|
80
|
+
return this.store.forget(scope, id);
|
|
47
81
|
}
|
|
48
82
|
async context(scope, query = {}) {
|
|
49
|
-
return toContextBlock(await this.
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
83
|
+
return toContextBlock(await this.store.recall(scope, query), query.tokenBudget);
|
|
84
|
+
}
|
|
85
|
+
/** One consolidation pass over `scope`: keeps the newest `maxItems` and
|
|
86
|
+
* forgets the rest. With a `summarizer`, the `message` items are first folded
|
|
87
|
+
* into one durable summary per conversation, stored under `scope` narrowed
|
|
88
|
+
* to that conversation, and `pruneSummarized` forgets the folded items. */
|
|
89
|
+
async consolidate(scope, maxItems, options = {}) {
|
|
90
|
+
if (!Number.isSafeInteger(maxItems) || maxItems < 0)
|
|
91
|
+
throw new InvalidError("consolidation maxItems must be a non-negative safe integer");
|
|
92
|
+
const items = await this.store.recall(scope, { limit: CONSOLIDATION_WINDOW });
|
|
93
|
+
let remaining = items;
|
|
94
|
+
let summarized = 0;
|
|
95
|
+
let pruned = 0;
|
|
96
|
+
if (options.summarizer !== undefined) {
|
|
97
|
+
const sessions = items.filter((item) => item.kind === MemoryKind.Message);
|
|
98
|
+
if (sessions.length > 0) {
|
|
99
|
+
// One summary per conversation, so each stays recallable in the
|
|
100
|
+
// conversation it distills.
|
|
101
|
+
for (const [conversation, turns] of byConversation(sessions)) {
|
|
102
|
+
const summary = await options.summarizer.summarize(turns.map((item) => item.payload.slice()));
|
|
103
|
+
await appendOn(this.store, { ...scope, conversation, lifetime: Lifetime.Durable }, MemoryId.new(), MemoryKind.Summary, summary);
|
|
104
|
+
}
|
|
105
|
+
summarized = sessions.length;
|
|
106
|
+
if (options.pruneSummarized === true) {
|
|
107
|
+
for (const item of sessions) {
|
|
108
|
+
try {
|
|
109
|
+
await this.store.forget(scope, item.id);
|
|
110
|
+
pruned += 1;
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Failed forgets stay outside the successful prune count.
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
remaining = items.filter((item) => item.kind !== MemoryKind.Message);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
const oldestFirst = [...remaining].sort((left, right) => left.id.asU128() < right.id.asU128() ? -1 : left.id.asU128() > right.id.asU128() ? 1 : 0);
|
|
121
|
+
for (const item of oldestFirst.slice(0, Math.max(0, oldestFirst.length - maxItems))) {
|
|
122
|
+
try {
|
|
123
|
+
await this.store.forget(scope, item.id);
|
|
124
|
+
pruned += 1;
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
// Failed forgets stay outside the successful prune count.
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return { summarized, reweighted: 0, pruned, derived: 0 };
|
|
60
131
|
}
|
|
61
132
|
reranker(reranker) {
|
|
62
|
-
return new MemoryHandle(new RerankedMemory(this.
|
|
63
|
-
}
|
|
133
|
+
return new MemoryHandle(new RerankedMemory(this.store, reranker));
|
|
134
|
+
}
|
|
135
|
+
/** Registers the embedding seam for similarity recall. It configures the
|
|
136
|
+
* in-process vector index, so a vector handle starts a fresh index over
|
|
137
|
+
* `embedder` with the same governance. The durable log model recalls by
|
|
138
|
+
* recency and a custom backend owns its retrieval, so both are returned
|
|
139
|
+
* unchanged. */
|
|
140
|
+
embedder(embedder) {
|
|
141
|
+
const store = withEmbedder(this.store, embedder);
|
|
142
|
+
return store === this.store ? this : new MemoryHandle(store);
|
|
143
|
+
}
|
|
144
|
+
/** @internal */
|
|
64
145
|
logBackend() {
|
|
65
|
-
return this.
|
|
146
|
+
return namedMemoryOf(this.store);
|
|
147
|
+
}
|
|
148
|
+
/** Writes named point state under your own `key`. Every write is a durable
|
|
149
|
+
* event on the memory topic. Only the log-backed handle has a key space, so
|
|
150
|
+
* the vector handle refuses with `UnsupportedError`. */
|
|
151
|
+
set(key, payload) {
|
|
152
|
+
return this.namedMemory("set").setNamed(key, payload);
|
|
153
|
+
}
|
|
154
|
+
/** Point-reads the named item written by `set`, from the managed key-value
|
|
155
|
+
* view, or `undefined`. */
|
|
156
|
+
fetch(key) {
|
|
157
|
+
return this.namedMemory("fetch").fetchNamed(key);
|
|
158
|
+
}
|
|
159
|
+
/** Point-reads the named item by folding the memory topic in process. */
|
|
160
|
+
fetchFolded(key) {
|
|
161
|
+
return this.namedMemory("fetchFolded").fetchNamedFolded(key);
|
|
162
|
+
}
|
|
163
|
+
/** Merge-patches the named item (RFC 7386 over a JSON value): fields in
|
|
164
|
+
* `patch` overwrite, `null` removes. */
|
|
165
|
+
update(key, patch) {
|
|
166
|
+
return this.namedMemory("update").updateNamed(key, patch);
|
|
167
|
+
}
|
|
168
|
+
/** Deletes the named item. Removing an absent key is fine. */
|
|
169
|
+
remove(key) {
|
|
170
|
+
return this.namedMemory("remove").forgetNamed(key);
|
|
171
|
+
}
|
|
172
|
+
namedMemory(verb) {
|
|
173
|
+
const memory = namedMemoryOf(this.store);
|
|
174
|
+
if (memory === undefined) {
|
|
175
|
+
throw new UnsupportedError(`${verb}(key) is the named-item altitude and needs the durable memory handle`, { cause: { surface: "memory" } });
|
|
176
|
+
}
|
|
177
|
+
return memory;
|
|
66
178
|
}
|
|
67
179
|
append(scope, id, kind, payload) {
|
|
68
|
-
|
|
69
|
-
return this.backend.append(scope, id, kind, payload);
|
|
70
|
-
}
|
|
71
|
-
return this.backend.remember(scope, payload);
|
|
180
|
+
return appendOn(this.store, scope, id, kind, payload);
|
|
72
181
|
}
|
|
73
182
|
}
|
|
74
183
|
export class RememberBuilder {
|
|
75
184
|
handle;
|
|
76
185
|
payload;
|
|
77
|
-
|
|
186
|
+
memoryScope = {};
|
|
78
187
|
memoryKind = MemoryKind.Fact;
|
|
79
188
|
deduplicate = false;
|
|
80
189
|
constructor(handle, payload) {
|
|
81
190
|
this.handle = handle;
|
|
82
191
|
this.payload = payload;
|
|
83
192
|
}
|
|
84
|
-
|
|
85
|
-
|
|
193
|
+
/** @internal */
|
|
194
|
+
static create(handle, payload) {
|
|
195
|
+
return new RememberBuilder(handle, payload);
|
|
196
|
+
}
|
|
197
|
+
/** Scopes the item to a conversation. */
|
|
198
|
+
scope(conversation) {
|
|
199
|
+
this.memoryScope = { ...this.memoryScope, conversation };
|
|
86
200
|
return this;
|
|
87
201
|
}
|
|
88
202
|
user(user) {
|
|
89
|
-
this.
|
|
203
|
+
this.memoryScope = { ...this.memoryScope, user };
|
|
90
204
|
return this;
|
|
91
205
|
}
|
|
92
206
|
agent(agent) {
|
|
93
|
-
this.
|
|
207
|
+
this.memoryScope = { ...this.memoryScope, agent };
|
|
94
208
|
return this;
|
|
95
209
|
}
|
|
96
210
|
application(application) {
|
|
97
|
-
this.
|
|
211
|
+
this.memoryScope = { ...this.memoryScope, app: application };
|
|
98
212
|
return this;
|
|
99
213
|
}
|
|
100
214
|
stream(stream) {
|
|
101
|
-
this.
|
|
215
|
+
this.memoryScope = { ...this.memoryScope, stream };
|
|
102
216
|
return this;
|
|
103
217
|
}
|
|
104
218
|
durable() {
|
|
105
|
-
this.
|
|
219
|
+
this.memoryScope = { ...this.memoryScope, lifetime: Lifetime.Durable };
|
|
106
220
|
return this;
|
|
107
221
|
}
|
|
108
222
|
kind(kind) {
|
|
@@ -115,9 +229,9 @@ export class RememberBuilder {
|
|
|
115
229
|
}
|
|
116
230
|
send() {
|
|
117
231
|
const id = this.deduplicate
|
|
118
|
-
? MemoryId.content(this.
|
|
232
|
+
? MemoryId.content(this.memoryScope, this.memoryKind, this.payload)
|
|
119
233
|
: MemoryId.new();
|
|
120
|
-
return this.handle.append(this.
|
|
234
|
+
return this.handle.append(this.memoryScope, id, this.memoryKind, this.payload);
|
|
121
235
|
}
|
|
122
236
|
}
|
|
123
237
|
export class RecallBuilder {
|
|
@@ -125,12 +239,14 @@ export class RecallBuilder {
|
|
|
125
239
|
scope = {};
|
|
126
240
|
query = {};
|
|
127
241
|
foldInProcess = false;
|
|
128
|
-
constructor(handle) {
|
|
242
|
+
constructor(handle, conversation) {
|
|
129
243
|
this.handle = handle;
|
|
244
|
+
if (conversation !== undefined)
|
|
245
|
+
this.scope = { conversation };
|
|
130
246
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return
|
|
247
|
+
/** @internal */
|
|
248
|
+
static create(handle, conversation) {
|
|
249
|
+
return new RecallBuilder(handle, conversation);
|
|
134
250
|
}
|
|
135
251
|
user(user) {
|
|
136
252
|
this.scope = { ...this.scope, user };
|
|
@@ -141,7 +257,7 @@ export class RecallBuilder {
|
|
|
141
257
|
return this;
|
|
142
258
|
}
|
|
143
259
|
application(application) {
|
|
144
|
-
this.scope = { ...this.scope, application };
|
|
260
|
+
this.scope = { ...this.scope, app: application };
|
|
145
261
|
return this;
|
|
146
262
|
}
|
|
147
263
|
stream(stream) {
|
|
@@ -172,10 +288,6 @@ export class RecallBuilder {
|
|
|
172
288
|
this.query = { ...this.query, limit };
|
|
173
289
|
return this;
|
|
174
290
|
}
|
|
175
|
-
tokenBudget(tokenBudget) {
|
|
176
|
-
this.query = { ...this.query, tokenBudget };
|
|
177
|
-
return this;
|
|
178
|
-
}
|
|
179
291
|
/** Fold the memory topic in process instead of reading the managed key-value
|
|
180
292
|
* view, for a deployment that materializes no read view. */
|
|
181
293
|
folded() {
|
|
@@ -187,8 +299,10 @@ export class RecallBuilder {
|
|
|
187
299
|
? this.handle.recallFolded(this.scope, this.query)
|
|
188
300
|
: this.handle.recall(this.scope, this.query);
|
|
189
301
|
}
|
|
190
|
-
|
|
191
|
-
|
|
302
|
+
/** Runs the recall and renders the items as one prompt-ready block under
|
|
303
|
+
* `tokenBudget` estimated tokens when given. */
|
|
304
|
+
async block(tokenBudget) {
|
|
305
|
+
return toContextBlock(await this.fetch(), tokenBudget);
|
|
192
306
|
}
|
|
193
307
|
}
|
|
194
308
|
// The fold dispatch, mirroring Rust's `recall_folded`: the log backend folds its
|
|
@@ -197,24 +311,71 @@ export class RecallBuilder {
|
|
|
197
311
|
async function recallFoldedOn(backend, scope, query) {
|
|
198
312
|
if (backend instanceof LogMemory)
|
|
199
313
|
return backend.recallFolded(scope, query);
|
|
200
|
-
if (backend instanceof RerankedMemory)
|
|
201
|
-
|
|
314
|
+
if (backend instanceof RerankedMemory) {
|
|
315
|
+
const { inner, reranker } = backend[RERANKED]();
|
|
316
|
+
const items = await recallFoldedOn(inner, scope, query);
|
|
317
|
+
return query.semantic === undefined ? items : reranker.rerank(query.semantic, items);
|
|
318
|
+
}
|
|
202
319
|
return backend.recall(scope, query);
|
|
203
320
|
}
|
|
204
|
-
|
|
321
|
+
function appendOn(memory, scope, id, kind, payload) {
|
|
322
|
+
if (memory instanceof VectorMemory || memory instanceof LogMemory)
|
|
323
|
+
return memory.append(scope, id, kind, payload);
|
|
324
|
+
if (memory instanceof RerankedMemory)
|
|
325
|
+
return memory.append(scope, id, kind, payload);
|
|
326
|
+
return memory.append?.(scope, id, kind, payload) ?? memory.remember(scope, payload);
|
|
327
|
+
}
|
|
328
|
+
// Groups summarized turns by conversation, in the order each conversation first
|
|
329
|
+
// appears in the recall, keeping each group's recall order.
|
|
330
|
+
function byConversation(items) {
|
|
331
|
+
const groups = new Map();
|
|
332
|
+
for (const item of items) {
|
|
333
|
+
const conversation = item.provenance.conversationId;
|
|
334
|
+
const group = groups.get(conversation.toString());
|
|
335
|
+
if (group === undefined)
|
|
336
|
+
groups.set(conversation.toString(), [conversation, [item]]);
|
|
337
|
+
else
|
|
338
|
+
group[1].push(item);
|
|
339
|
+
}
|
|
340
|
+
return [...groups.values()];
|
|
341
|
+
}
|
|
342
|
+
function namedMemoryOf(memory) {
|
|
343
|
+
if (memory instanceof LogMemory)
|
|
344
|
+
return memory;
|
|
345
|
+
return memory instanceof RerankedMemory ? namedMemoryOf(memory[RERANKED]().inner) : undefined;
|
|
346
|
+
}
|
|
347
|
+
function backendKindOf(memory) {
|
|
348
|
+
if (memory instanceof LogMemory)
|
|
349
|
+
return "log";
|
|
350
|
+
if (memory instanceof VectorMemory)
|
|
351
|
+
return "vector";
|
|
352
|
+
if (memory instanceof RerankedMemory)
|
|
353
|
+
return backendKindOf(memory[RERANKED]().inner);
|
|
354
|
+
return "custom";
|
|
355
|
+
}
|
|
356
|
+
// The wrapped backend and the rerank stage, read by the handle's fold, append,
|
|
357
|
+
// and backend dispatch.
|
|
358
|
+
const RERANKED = Symbol("laser.internal.reranked");
|
|
359
|
+
/** Wraps any {@link Memory} with a {@link Reranker} second stage: `recall` runs
|
|
360
|
+
* the inner backend's retrieval, then reorders the candidates through the
|
|
361
|
+
* reranker when the query carries a `semantic` string. `remember`, `append`,
|
|
362
|
+
* `improve`, and `forget` delegate unchanged. */
|
|
363
|
+
export class RerankedMemory {
|
|
205
364
|
inner;
|
|
206
365
|
reranker;
|
|
207
366
|
constructor(inner, reranker) {
|
|
208
367
|
this.inner = inner;
|
|
209
368
|
this.reranker = reranker;
|
|
210
369
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
return query.semantic === undefined ? items : this.reranker.rerank(query.semantic, items);
|
|
370
|
+
[RERANKED]() {
|
|
371
|
+
return { inner: this.inner, reranker: this.reranker };
|
|
214
372
|
}
|
|
215
373
|
remember(scope, payload) {
|
|
216
374
|
return this.inner.remember(scope, payload);
|
|
217
375
|
}
|
|
376
|
+
append(scope, id, kind, payload) {
|
|
377
|
+
return appendOn(this.inner, scope, id, kind, payload);
|
|
378
|
+
}
|
|
218
379
|
async recall(scope, query) {
|
|
219
380
|
const items = await this.inner.recall(scope, query);
|
|
220
381
|
return query.semantic === undefined ? items : this.reranker.rerank(query.semantic, items);
|
|
@@ -226,6 +387,19 @@ class RerankedMemory {
|
|
|
226
387
|
return this.inner.forget(scope, id);
|
|
227
388
|
}
|
|
228
389
|
}
|
|
390
|
+
// The embedder dispatch, mirroring Rust: a vector backend rebuilds over the new
|
|
391
|
+
// embedder, a reranked backend reconfigures its inner backend, and the log and
|
|
392
|
+
// custom backends ignore it.
|
|
393
|
+
function withEmbedder(memory, embedder) {
|
|
394
|
+
if (memory instanceof VectorMemory)
|
|
395
|
+
return memory[WITH_EMBEDDER](embedder);
|
|
396
|
+
if (memory instanceof RerankedMemory) {
|
|
397
|
+
const { inner, reranker } = memory[RERANKED]();
|
|
398
|
+
const configured = withEmbedder(inner, embedder);
|
|
399
|
+
return configured === inner ? memory : new RerankedMemory(configured, reranker);
|
|
400
|
+
}
|
|
401
|
+
return memory;
|
|
402
|
+
}
|
|
229
403
|
function required(payload) {
|
|
230
404
|
if (payload === undefined)
|
|
231
405
|
throw new TypeError("memory payload is required");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/memory/handle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../src/memory/handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,15 @@ import type { Laser } from "../client/laser.js";
|
|
|
2
2
|
import { MemoryId, MemoryKind, type Feedback, type Memory, type MemoryItem, type MemoryQuery, type MemoryScope } from "./types.js";
|
|
3
3
|
export declare class LogMemory implements Memory {
|
|
4
4
|
private readonly laser;
|
|
5
|
-
readonly namespace: string;
|
|
6
|
-
readonly topic: string;
|
|
7
|
-
readonly stream: string | undefined;
|
|
8
5
|
private readonly items;
|
|
9
6
|
private readonly forgotten;
|
|
7
|
+
private readonly feedback;
|
|
10
8
|
private readonly named;
|
|
11
9
|
private readonly offsets;
|
|
12
|
-
private
|
|
13
|
-
|
|
10
|
+
private readonly fold;
|
|
11
|
+
/** A log-backed memory on `topic` (the audit topic by default). The named
|
|
12
|
+
* items key on `namespace`, which defaults to the topic's name. */
|
|
13
|
+
constructor(laser: Laser, namespace?: string, topic?: string, stream?: string | undefined);
|
|
14
14
|
remember(scope: MemoryScope, payload: Uint8Array): Promise<MemoryId>;
|
|
15
15
|
append(scope: MemoryScope, id: MemoryId, kind: MemoryKind, payload: Uint8Array): Promise<MemoryId>;
|
|
16
16
|
/** Reads the managed key-value view the deployment materializes from the
|
|
@@ -18,19 +18,31 @@ export declare class LogMemory implements Memory {
|
|
|
18
18
|
* opt-in {@link LogMemory.recallFolded}, never the default, matching Rust and Python. */
|
|
19
19
|
recall(scope: MemoryScope, query: MemoryQuery): Promise<readonly MemoryItem[]>;
|
|
20
20
|
/** Recall by folding the memory topic in process, the opt-in path for a small
|
|
21
|
-
* deployment with no materialized read view.
|
|
21
|
+
* deployment with no materialized read view. Items come newest first.
|
|
22
|
+
* Feedback reorders every strategy except `Recent`, and its signal carries
|
|
23
|
+
* `RecallStrategy.Auto`. */
|
|
22
24
|
recallFolded(scope: MemoryScope, query: MemoryQuery): Promise<readonly MemoryItem[]>;
|
|
23
25
|
improve(scope: MemoryScope, feedback: Feedback): Promise<MemoryId>;
|
|
24
26
|
forget(scope: MemoryScope, id: MemoryId): Promise<void>;
|
|
25
|
-
|
|
27
|
+
/** Writes named point state: a keyed item on the topic, reflected in the
|
|
28
|
+
* fold for read-your-writes. */
|
|
29
|
+
setNamed(key: string, payload: Uint8Array): Promise<void>;
|
|
26
30
|
/** Reads named point state from the managed key-value view, like {@link LogMemory.recall}.
|
|
27
|
-
* Folding the topic is the opt-in {@link LogMemory.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
* Folding the topic is the opt-in {@link LogMemory.fetchNamedFolded}. */
|
|
32
|
+
fetchNamed(key: string): Promise<Uint8Array | undefined>;
|
|
33
|
+
/** Reads named point state by folding the topic in process. */
|
|
34
|
+
fetchNamedFolded(key: string): Promise<Uint8Array | undefined>;
|
|
35
|
+
/** Merge-patches the named item (RFC 7386). A patch or a stored value that
|
|
36
|
+
* is not JSON throws `CodecError`. */
|
|
37
|
+
updateNamed(key: string, patch: Uint8Array): Promise<void>;
|
|
38
|
+
/** Deletes named point state with a keyed tombstone. */
|
|
39
|
+
forgetNamed(key: string): Promise<void>;
|
|
32
40
|
private publish;
|
|
41
|
+
private target;
|
|
42
|
+
private govern;
|
|
43
|
+
private send;
|
|
33
44
|
private catchUp;
|
|
45
|
+
private drain;
|
|
34
46
|
private absorb;
|
|
35
47
|
private namedKey;
|
|
36
48
|
private requireStream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-memory.d.ts","sourceRoot":"","sources":["../../src/memory/log-memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"log-memory.d.ts","sourceRoot":"","sources":["../../src/memory/log-memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAiB/C,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAA;AAiBnB,qBAAa,SAAU,YAAW,MAAM;IAoBpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAnBxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAG9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IASnC;uEACmE;IACnE,YACmB,KAAK,EAAE,KAAK,EAC7B,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,GAAE,MAAyB,EAChC,MAAM,GAAE,MAAM,GAAG,SAA+B,EAKjD;IAEK,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEzE;IAEK,MAAM,CACV,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,QAAQ,CAAC,CAUnB;IAED;;6FAEyF;IACnF,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CA4CnF;IAED;;;gCAG4B;IACtB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAwBzF;IAEK,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAQvE;IAEK,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;IAED;oCACgC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9D;IAED;6EACyE;IACnE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAE7D;IAED,+DAA+D;IACzD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAGnE;IAED;0CACsC;IAChC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;IAED,wDAAwD;IAClD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5C;YAEa,OAAO;IAUrB,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;YAYA,IAAI;IAsBlB,OAAO,CAAC,OAAO;YAID,KAAK;IA+CnB,OAAO,CAAC,MAAM;IAyDd,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,aAAa;CAMtB"}
|