@laserdata/laser-sdk 0.3.2 → 0.4.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 +38 -24
- package/dist/agent/reliable-consumer.d.ts.map +1 -1
- package/dist/agent/reliable-consumer.js +0 -1
- package/dist/agent/reliable-consumer.js.map +1 -1
- package/dist/agent/router.d.ts.map +1 -1
- package/dist/agent/router.js +0 -1
- package/dist/agent/router.js.map +1 -1
- package/dist/bridges/a2a.d.ts +1 -1
- package/dist/bridges/a2a.js +1 -1
- package/dist/client/laser.d.ts +11 -0
- package/dist/client/laser.d.ts.map +1 -1
- package/dist/client/laser.js +25 -3
- package/dist/client/laser.js.map +1 -1
- package/dist/client/publish-options.d.ts +8 -0
- package/dist/client/publish-options.d.ts.map +1 -0
- package/dist/client/publish-options.js +43 -0
- package/dist/client/publish-options.js.map +1 -0
- package/dist/context-scope.d.ts +8 -2
- package/dist/context-scope.d.ts.map +1 -1
- package/dist/context-scope.js +12 -1
- package/dist/context-scope.js.map +1 -1
- package/dist/context.d.ts +29 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +85 -3
- package/dist/context.js.map +1 -1
- package/dist/conversation-state.d.ts +7 -1
- package/dist/conversation-state.d.ts.map +1 -1
- package/dist/conversation-state.js +6 -0
- package/dist/conversation-state.js.map +1 -1
- package/dist/iggy/apache-iggy.d.ts +18 -4
- package/dist/iggy/apache-iggy.d.ts.map +1 -1
- package/dist/iggy/apache-iggy.js +150 -43
- package/dist/iggy/apache-iggy.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts +102 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +161 -0
- package/dist/session.js.map +1 -0
- package/dist/stream/cursor.d.ts +3 -0
- package/dist/stream/cursor.d.ts.map +1 -1
- package/dist/stream/cursor.js +37 -4
- package/dist/stream/cursor.js.map +1 -1
- package/dist/stream/producer.d.ts +1 -0
- package/dist/stream/producer.d.ts.map +1 -1
- package/dist/stream/producer.js +10 -0
- package/dist/stream/producer.js.map +1 -1
- package/dist/stream/topic.d.ts +5 -0
- package/dist/stream/topic.d.ts.map +1 -1
- package/dist/stream/topic.js +15 -0
- package/dist/stream/topic.js.map +1 -1
- package/package.json +9 -9
package/dist/client/laser.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { publishOptions } from "./publish-options.js";
|
|
1
2
|
import { ApacheIggyTransport } from "../iggy/apache-iggy.js";
|
|
2
3
|
import { createAgdx } from "../agent/agdx.js";
|
|
3
4
|
import { decodeAgentMessage } from "../agent/reliable-consumer.js";
|
|
@@ -11,6 +12,7 @@ import { AgentRegistry, ClientMetadataRequest, encodePresenceInput, newRegistryC
|
|
|
11
12
|
import { AsyncOnce } from "../runtime/async-once.js";
|
|
12
13
|
import { Stream } from "../stream/stream.js";
|
|
13
14
|
import { ContextScope } from "../context-scope.js";
|
|
15
|
+
import { Sessions } from "../session.js";
|
|
14
16
|
import { ActionKind, GovernorState, encodePolicyEvidence, decodePolicyEvidence, POLICY_DECISION_OPERATION } from "../govern.js";
|
|
15
17
|
import { MemoryBackend, MemoryHandle } from "../memory/handle.js";
|
|
16
18
|
import { MemoryTopicBuilder } from "../memory/topic.js";
|
|
@@ -58,6 +60,7 @@ const NO_TOPOLOGY_OVERRIDES = {
|
|
|
58
60
|
};
|
|
59
61
|
export class LaserBuilder {
|
|
60
62
|
create;
|
|
63
|
+
publishOptionsValue = {};
|
|
61
64
|
connectionStringValue;
|
|
62
65
|
addressValue;
|
|
63
66
|
credentialsValue;
|
|
@@ -73,6 +76,18 @@ export class LaserBuilder {
|
|
|
73
76
|
constructor(create) {
|
|
74
77
|
this.create = create;
|
|
75
78
|
}
|
|
79
|
+
publishTimeout(milliseconds) {
|
|
80
|
+
this.publishOptionsValue = { ...this.publishOptionsValue, timeoutMs: milliseconds };
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
publishMaxRetries(value) {
|
|
84
|
+
this.publishOptionsValue = { ...this.publishOptionsValue, maxRetries: value };
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
publishRetryBackoff(milliseconds) {
|
|
88
|
+
this.publishOptionsValue = { ...this.publishOptionsValue, retryBackoffMs: milliseconds };
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
76
91
|
connectionString(value) {
|
|
77
92
|
this.connectionStringValue = value;
|
|
78
93
|
return this;
|
|
@@ -161,6 +176,7 @@ export class LaserBuilder {
|
|
|
161
176
|
throw new ConfigError(`${name} must not be empty`);
|
|
162
177
|
}
|
|
163
178
|
return this.create({
|
|
179
|
+
publishOptions: publishOptions(this.publishOptionsValue),
|
|
164
180
|
...(this.connectionStringValue !== undefined
|
|
165
181
|
? { connectionString: this.connectionStringValue }
|
|
166
182
|
: {}),
|
|
@@ -299,7 +315,7 @@ export class Laser {
|
|
|
299
315
|
return new LaserBuilder(async (options) => {
|
|
300
316
|
let transport;
|
|
301
317
|
if (options.client !== undefined) {
|
|
302
|
-
transport = await ApacheIggyTransport.fromClient(options.client, options.ownership);
|
|
318
|
+
transport = await ApacheIggyTransport.fromClient(options.client, options.ownership, options.publishOptions);
|
|
303
319
|
}
|
|
304
320
|
else if (options.address !== undefined) {
|
|
305
321
|
const credentials = options.credentials ?? {
|
|
@@ -313,10 +329,10 @@ export class Laser {
|
|
|
313
329
|
const authorityHost = options.address.host.includes(":")
|
|
314
330
|
? `[${options.address.host.replace(/^\[|\]$/g, "")}]`
|
|
315
331
|
: options.address.host;
|
|
316
|
-
transport = await ApacheIggyTransport.connect(`iggy://${userInfo}@${authorityHost}:${String(options.address.port)}
|
|
332
|
+
transport = await ApacheIggyTransport.connect(`iggy://${userInfo}@${authorityHost}:${String(options.address.port)}`, options.publishOptions);
|
|
317
333
|
}
|
|
318
334
|
else {
|
|
319
|
-
transport = await ApacheIggyTransport.connect(options.connectionString ?? LOCAL_CONNECTION_STRING);
|
|
335
|
+
transport = await ApacheIggyTransport.connect(options.connectionString ?? LOCAL_CONNECTION_STRING, options.publishOptions);
|
|
320
336
|
}
|
|
321
337
|
const laser = new Laser(transport, options.defaultStream, options.capabilities === undefined
|
|
322
338
|
? new AsyncOnce()
|
|
@@ -537,6 +553,12 @@ export class Laser {
|
|
|
537
553
|
context(conversation) {
|
|
538
554
|
return new ContextScope(this, conversation);
|
|
539
555
|
}
|
|
556
|
+
/** The session accessor: one conversation seen as typed turns, a model-ready
|
|
557
|
+
* context, scoped memory, and checkpointed replay. Built on `context`, so a
|
|
558
|
+
* session is never a second store. */
|
|
559
|
+
sessions(options) {
|
|
560
|
+
return new Sessions(this, options);
|
|
561
|
+
}
|
|
540
562
|
memory(namespace) {
|
|
541
563
|
return this.memoryWith(namespace, MemoryBackend.Auto);
|
|
542
564
|
}
|
package/dist/client/laser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"laser.js","sourceRoot":"","sources":["../../src/client/laser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"laser.js","sourceRoot":"","sources":["../../src/client/laser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface PublishOptions {
|
|
2
|
+
readonly timeoutMs: number;
|
|
3
|
+
readonly maxRetries: number;
|
|
4
|
+
readonly retryBackoffMs: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function publishOptions(options?: Partial<PublishOptions>, environment?: Readonly<Record<string, string | undefined>>): PublishOptions;
|
|
7
|
+
export declare function publishWithin<T>(promise: Promise<T>, timeoutMs: number): Promise<T>;
|
|
8
|
+
//# sourceMappingURL=publish-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-options.d.ts","sourceRoot":"","sources":["../../src/client/publish-options.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,wBAAgB,cAAc,CAC5B,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,EACrC,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GACtE,cAAc,CAuBhB;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAczF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ConfigError, TimeoutError } from "./errors.js";
|
|
2
|
+
export function publishOptions(options = {}, environment = process.env) {
|
|
3
|
+
const number = (explicit, name, fallback) => {
|
|
4
|
+
const raw = environment[name];
|
|
5
|
+
if (explicit !== undefined)
|
|
6
|
+
return explicit;
|
|
7
|
+
if (raw === undefined)
|
|
8
|
+
return fallback;
|
|
9
|
+
if (!/^\d+$/.test(raw))
|
|
10
|
+
throw new ConfigError(`${name} must be an integer`);
|
|
11
|
+
return Number(raw);
|
|
12
|
+
};
|
|
13
|
+
const resolved = {
|
|
14
|
+
timeoutMs: number(options.timeoutMs, "LASER_PUBLISH_TIMEOUT_MS", 60_000),
|
|
15
|
+
maxRetries: number(options.maxRetries, "LASER_PUBLISH_MAX_RETRIES", 3),
|
|
16
|
+
retryBackoffMs: number(options.retryBackoffMs, "LASER_PUBLISH_RETRY_BACKOFF_MS", 250)
|
|
17
|
+
};
|
|
18
|
+
for (const [name, value] of Object.entries(resolved)) {
|
|
19
|
+
const minimum = name === "maxRetries" ? 0 : 1;
|
|
20
|
+
const maximum = name === "maxRetries" ? 0xffff_ffff : 0x7fff_ffff;
|
|
21
|
+
if (!Number.isSafeInteger(value) || value < minimum || value > maximum) {
|
|
22
|
+
throw new ConfigError(`${name} must be an integer between ${String(minimum)} and ${String(maximum)}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return resolved;
|
|
26
|
+
}
|
|
27
|
+
export async function publishWithin(promise, timeoutMs) {
|
|
28
|
+
let timer;
|
|
29
|
+
try {
|
|
30
|
+
return await Promise.race([
|
|
31
|
+
promise,
|
|
32
|
+
new Promise((_, reject) => {
|
|
33
|
+
timer = setTimeout(() => {
|
|
34
|
+
reject(new TimeoutError("Iggy publish response"));
|
|
35
|
+
}, timeoutMs);
|
|
36
|
+
})
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
finally {
|
|
40
|
+
clearTimeout(timer);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=publish-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-options.js","sourceRoot":"","sources":["../../src/client/publish-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQvD,MAAM,UAAU,cAAc,CAC5B,OAAO,GAA4B,EAAE,EACrC,WAAW,GAAiD,OAAO,CAAC,GAAG;IAEvE,MAAM,MAAM,GAAG,CAAC,QAA4B,EAAE,IAAY,EAAE,QAAgB,EAAU,EAAE;QACtF,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QAC3C,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAA;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAA;QAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAA;IACD,MAAM,QAAQ,GAAG;QACf,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,EAAE,MAAM,CAAC;QACxE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACtE,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,gCAAgC,EAAE,GAAG,CAAC;KACtF,CAAA;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;QACjE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YACvE,MAAM,IAAI,WAAW,CACnB,GAAG,IAAI,+BAA+B,MAAM,CAAC,OAAO,CAAC,QAAQ,MAAM,CAAC,OAAO,CAAC,EAAE,CAC/E,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,OAAmB,EAAE,SAAiB;IAC3E,IAAI,KAAgD,CAAA;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,OAAO;YACP,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,MAAM,CAAC,IAAI,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAA;gBACnD,CAAC,EAAE,SAAS,CAAC,CAAA;YACf,CAAC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;AACH,CAAC"}
|
package/dist/context-scope.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Laser } from "./client/laser.js";
|
|
2
2
|
import type { GraphHandle } from "./managed/graph.js";
|
|
3
|
-
import { type ContextMessage, type ContextPolicy } from "./context.js";
|
|
3
|
+
import { Checkpoint, type ContextMessage, type ContextPolicy } from "./context.js";
|
|
4
4
|
import { type ReplayBound } from "./conversation-state.js";
|
|
5
5
|
import type { SnapshotStore } from "./snapshot.js";
|
|
6
6
|
import type { BytesLike } from "./client/bytes.js";
|
|
7
7
|
import type { ConversationId } from "./types/ids.js";
|
|
8
8
|
import type { MemoryHandle } from "./memory/handle.js";
|
|
9
|
-
import type { Feedback, MemoryId } from "./memory/types.js";
|
|
9
|
+
import type { Feedback, MemoryId, MemoryItem } from "./memory/types.js";
|
|
10
10
|
export declare class ContextScope {
|
|
11
11
|
private readonly laser;
|
|
12
12
|
readonly conversation: ConversationId;
|
|
@@ -15,6 +15,9 @@ export declare class ContextScope {
|
|
|
15
15
|
fetch(topics: readonly string[], count: number): Promise<readonly ContextMessage[]>;
|
|
16
16
|
fetchWith(topics: readonly string[], policy: ContextPolicy): Promise<readonly ContextMessage[]>;
|
|
17
17
|
block(topics: readonly string[], count: number): Promise<string>;
|
|
18
|
+
/** The current tail of `topics` as a `Checkpoint`: fold up to it with the
|
|
19
|
+
* `at` replay bound or resume after it with `from-checkpoint`. */
|
|
20
|
+
checkpoint(topics: readonly string[]): Promise<Checkpoint>;
|
|
18
21
|
/** Binds a memory namespace or existing handle to this conversation. */
|
|
19
22
|
memory(namespaceOrHandle: string | MemoryHandle): ScopedMemory;
|
|
20
23
|
/** The knowledge graph `name`, reached from this scope so one conversation's
|
|
@@ -33,6 +36,9 @@ export declare class ScopedMemory {
|
|
|
33
36
|
constructor(handle: MemoryHandle, conversation: ConversationId);
|
|
34
37
|
remember(payload: Uint8Array): import("./memory/handle.js").RememberBuilder;
|
|
35
38
|
recall(): import("./memory/handle.js").RecallBuilder;
|
|
39
|
+
/** Keyword recall for `query` within this conversation. Needs no embedder,
|
|
40
|
+
* so it works on the default log-backed memory. */
|
|
41
|
+
search(query: string, limit?: number): Promise<readonly MemoryItem[]>;
|
|
36
42
|
context(tokenBudget?: number): Promise<string>;
|
|
37
43
|
forget(id: MemoryId): Promise<void>;
|
|
38
44
|
improve(feedback: Feedback): Promise<MemoryId>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-scope.d.ts","sourceRoot":"","sources":["../src/context-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"context-scope.d.ts","sourceRoot":"","sources":["../src/context-scope.ts"],"names":[],"mappings":"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"}
|
package/dist/context-scope.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ContextAssembler, LastN } from "./context.js";
|
|
1
|
+
import { Checkpoint, ContextAssembler, LastN } from "./context.js";
|
|
2
2
|
import { ConversationState } from "./conversation-state.js";
|
|
3
3
|
export class ContextScope {
|
|
4
4
|
laser;
|
|
@@ -24,6 +24,11 @@ export class ContextScope {
|
|
|
24
24
|
const messages = await this.fetch(topics, count);
|
|
25
25
|
return messages.map((message) => new TextDecoder().decode(message.payload)).join("\n");
|
|
26
26
|
}
|
|
27
|
+
/** The current tail of `topics` as a `Checkpoint`: fold up to it with the
|
|
28
|
+
* `at` replay bound or resume after it with `from-checkpoint`. */
|
|
29
|
+
checkpoint(topics) {
|
|
30
|
+
return Checkpoint.capture(this.laser, topics);
|
|
31
|
+
}
|
|
27
32
|
/** Binds a memory namespace or existing handle to this conversation. */
|
|
28
33
|
memory(namespaceOrHandle) {
|
|
29
34
|
const handle = typeof namespaceOrHandle === "string"
|
|
@@ -60,6 +65,12 @@ export class ScopedMemory {
|
|
|
60
65
|
recall() {
|
|
61
66
|
return this.handle.recall().conversation(this.conversation);
|
|
62
67
|
}
|
|
68
|
+
/** Keyword recall for `query` within this conversation. Needs no embedder,
|
|
69
|
+
* so it works on the default log-backed memory. */
|
|
70
|
+
search(query, limit) {
|
|
71
|
+
const recall = this.recall().keyword(query);
|
|
72
|
+
return (limit === undefined ? recall : recall.limit(limit)).fetch();
|
|
73
|
+
}
|
|
63
74
|
context(tokenBudget) {
|
|
64
75
|
return this.handle.context({ conversation: this.conversation }, tokenBudget === undefined ? {} : { tokenBudget });
|
|
65
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-scope.js","sourceRoot":"","sources":["../src/context-scope.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"context-scope.js","sourceRoot":"","sources":["../src/context-scope.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -8,6 +8,25 @@ export interface ContextMessage {
|
|
|
8
8
|
readonly payload: Uint8Array;
|
|
9
9
|
readonly envelope?: AgentEnvelope;
|
|
10
10
|
readonly timestampMicros: bigint;
|
|
11
|
+
/** The name of the topic the message was read from. */
|
|
12
|
+
readonly topic: string;
|
|
13
|
+
}
|
|
14
|
+
/** A point in a conversation's log: the next offset each partition of each
|
|
15
|
+
* topic will write, as captured by `ContextScope.checkpoint`. A client-side
|
|
16
|
+
* bookmark keyed by topic name, never a record on the log. `toJSON` and
|
|
17
|
+
* `Checkpoint.fromJSON` persist it. */
|
|
18
|
+
export declare class Checkpoint {
|
|
19
|
+
private readonly perTopic;
|
|
20
|
+
private constructor();
|
|
21
|
+
static empty(): Checkpoint;
|
|
22
|
+
static capture(laser: Laser, topics: readonly string[]): Promise<Checkpoint>;
|
|
23
|
+
/** The per-partition offsets for `topic`, or `undefined` when the checkpoint
|
|
24
|
+
* was not taken over that topic. */
|
|
25
|
+
topicOffsets(topic: string): ReadonlyMap<number, bigint> | undefined;
|
|
26
|
+
get topics(): readonly string[];
|
|
27
|
+
isEmpty(): boolean;
|
|
28
|
+
toJSON(): Record<string, Record<string, string>>;
|
|
29
|
+
static fromJSON(value: unknown): Checkpoint;
|
|
11
30
|
}
|
|
12
31
|
export interface ContextPolicy {
|
|
13
32
|
select(history: readonly ContextMessage[]): readonly ContextMessage[];
|
|
@@ -39,6 +58,8 @@ interface ContextAssemblerOptions {
|
|
|
39
58
|
readonly topics: readonly string[];
|
|
40
59
|
readonly policy: ContextPolicy;
|
|
41
60
|
readonly fromOffsets: ReadonlyMap<number, bigint>;
|
|
61
|
+
readonly fromCheckpoint?: Checkpoint;
|
|
62
|
+
readonly toCheckpoint?: Checkpoint;
|
|
42
63
|
}
|
|
43
64
|
export declare class ContextAssemblerBuilder {
|
|
44
65
|
private readonly conversation;
|
|
@@ -46,11 +67,19 @@ export declare class ContextAssemblerBuilder {
|
|
|
46
67
|
private selectedTopics;
|
|
47
68
|
private selectedPolicy;
|
|
48
69
|
private offsets;
|
|
70
|
+
private resumeFrom;
|
|
71
|
+
private stopAt;
|
|
49
72
|
constructor(conversation: ConversationId);
|
|
50
73
|
acrossSubconversations(value?: boolean): this;
|
|
51
74
|
topics(topics: readonly string[]): this;
|
|
52
75
|
policy(policy: ContextPolicy): this;
|
|
76
|
+
/** One offset map shared by every topic. `fromCheckpoint` takes precedence
|
|
77
|
+
* for the topics it names. */
|
|
53
78
|
fromOffsets(offsets: ReadonlyMap<number, bigint>): this;
|
|
79
|
+
/** Resume after `checkpoint`, per topic and partition, and read to the tail. */
|
|
80
|
+
fromCheckpoint(checkpoint: Checkpoint): this;
|
|
81
|
+
/** Stop at `checkpoint`, per topic and partition: a point-in-time read. */
|
|
82
|
+
toCheckpoint(checkpoint: Checkpoint): this;
|
|
54
83
|
build(): ContextAssembler;
|
|
55
84
|
}
|
|
56
85
|
export declare class ContextAssembler {
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAWpD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/context.js
CHANGED
|
@@ -7,6 +7,60 @@ const READ_BATCH = 1_000;
|
|
|
7
7
|
// history. Selection policies want the newest records, so the oldest are the
|
|
8
8
|
// ones dropped.
|
|
9
9
|
const MAX_CONTEXT_RECORDS = 10_000;
|
|
10
|
+
/** A point in a conversation's log: the next offset each partition of each
|
|
11
|
+
* topic will write, as captured by `ContextScope.checkpoint`. A client-side
|
|
12
|
+
* bookmark keyed by topic name, never a record on the log. `toJSON` and
|
|
13
|
+
* `Checkpoint.fromJSON` persist it. */
|
|
14
|
+
export class Checkpoint {
|
|
15
|
+
perTopic;
|
|
16
|
+
constructor(perTopic) {
|
|
17
|
+
this.perTopic = perTopic;
|
|
18
|
+
}
|
|
19
|
+
static empty() {
|
|
20
|
+
return new Checkpoint(new Map());
|
|
21
|
+
}
|
|
22
|
+
static async capture(laser, topics) {
|
|
23
|
+
const entries = await Promise.all(topics.map(async (topic) => [topic, await laser.topic(topic).tailOffsets()]));
|
|
24
|
+
return new Checkpoint(new Map(entries));
|
|
25
|
+
}
|
|
26
|
+
/** The per-partition offsets for `topic`, or `undefined` when the checkpoint
|
|
27
|
+
* was not taken over that topic. */
|
|
28
|
+
topicOffsets(topic) {
|
|
29
|
+
return this.perTopic.get(topic);
|
|
30
|
+
}
|
|
31
|
+
get topics() {
|
|
32
|
+
return [...this.perTopic.keys()];
|
|
33
|
+
}
|
|
34
|
+
isEmpty() {
|
|
35
|
+
return this.perTopic.size === 0;
|
|
36
|
+
}
|
|
37
|
+
toJSON() {
|
|
38
|
+
return Object.fromEntries([...this.perTopic].map(([topic, offsets]) => [
|
|
39
|
+
topic,
|
|
40
|
+
Object.fromEntries([...offsets].map(([partition, offset]) => [String(partition), String(offset)]))
|
|
41
|
+
]));
|
|
42
|
+
}
|
|
43
|
+
static fromJSON(value) {
|
|
44
|
+
const parsed = typeof value === "string" ? JSON.parse(value) : value;
|
|
45
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
46
|
+
throw new TypeError("a checkpoint is an object keyed by topic name");
|
|
47
|
+
}
|
|
48
|
+
const perTopic = new Map();
|
|
49
|
+
for (const [topic, offsets] of Object.entries(parsed)) {
|
|
50
|
+
if (typeof offsets !== "object" || offsets === null || Array.isArray(offsets)) {
|
|
51
|
+
throw new TypeError(`checkpoint topic ${topic} is not an object keyed by partition`);
|
|
52
|
+
}
|
|
53
|
+
perTopic.set(topic, new Map(Object.entries(offsets).map(([partition, offset]) => {
|
|
54
|
+
if (!/^\d+$/.test(partition) ||
|
|
55
|
+
(typeof offset !== "string" && typeof offset !== "number")) {
|
|
56
|
+
throw new TypeError(`checkpoint topic ${topic} has an invalid partition entry`);
|
|
57
|
+
}
|
|
58
|
+
return [Number(partition), BigInt(offset)];
|
|
59
|
+
})));
|
|
60
|
+
}
|
|
61
|
+
return new Checkpoint(perTopic);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
10
64
|
export class LastN {
|
|
11
65
|
count;
|
|
12
66
|
constructor(count) {
|
|
@@ -67,6 +121,8 @@ export class ContextAssemblerBuilder {
|
|
|
67
121
|
selectedTopics = [AgentTopic.Commands, AgentTopic.Responses];
|
|
68
122
|
selectedPolicy = new LastN(50);
|
|
69
123
|
offsets = new Map();
|
|
124
|
+
resumeFrom;
|
|
125
|
+
stopAt;
|
|
70
126
|
constructor(conversation) {
|
|
71
127
|
this.conversation = conversation;
|
|
72
128
|
}
|
|
@@ -82,17 +138,31 @@ export class ContextAssemblerBuilder {
|
|
|
82
138
|
this.selectedPolicy = policy;
|
|
83
139
|
return this;
|
|
84
140
|
}
|
|
141
|
+
/** One offset map shared by every topic. `fromCheckpoint` takes precedence
|
|
142
|
+
* for the topics it names. */
|
|
85
143
|
fromOffsets(offsets) {
|
|
86
144
|
this.offsets = new Map(offsets);
|
|
87
145
|
return this;
|
|
88
146
|
}
|
|
147
|
+
/** Resume after `checkpoint`, per topic and partition, and read to the tail. */
|
|
148
|
+
fromCheckpoint(checkpoint) {
|
|
149
|
+
this.resumeFrom = checkpoint;
|
|
150
|
+
return this;
|
|
151
|
+
}
|
|
152
|
+
/** Stop at `checkpoint`, per topic and partition: a point-in-time read. */
|
|
153
|
+
toCheckpoint(checkpoint) {
|
|
154
|
+
this.stopAt = checkpoint;
|
|
155
|
+
return this;
|
|
156
|
+
}
|
|
89
157
|
build() {
|
|
90
158
|
return new ContextAssembler({
|
|
91
159
|
conversation: this.conversation,
|
|
92
160
|
acrossSubconversations: this.acrossChildren,
|
|
93
161
|
topics: this.selectedTopics,
|
|
94
162
|
policy: this.selectedPolicy,
|
|
95
|
-
fromOffsets: this.offsets
|
|
163
|
+
fromOffsets: this.offsets,
|
|
164
|
+
...(this.resumeFrom === undefined ? {} : { fromCheckpoint: this.resumeFrom }),
|
|
165
|
+
...(this.stopAt === undefined ? {} : { toCheckpoint: this.stopAt })
|
|
96
166
|
});
|
|
97
167
|
}
|
|
98
168
|
}
|
|
@@ -106,9 +176,20 @@ export class ContextAssembler {
|
|
|
106
176
|
}
|
|
107
177
|
async assemble(laser) {
|
|
108
178
|
const perTopic = await Promise.all(this.options.topics.map(async (topic, topicIndex) => {
|
|
109
|
-
const cursor = await laser.topic(topic).replay({ batchSize: READ_BATCH });
|
|
110
|
-
cursor.fromOffsets(this.options.fromOffsets);
|
|
111
179
|
const collected = [];
|
|
180
|
+
// A topic nobody has written yet has no history, same as in Rust.
|
|
181
|
+
if ((await laser.topic(topic).partitionCount()) === undefined)
|
|
182
|
+
return collected;
|
|
183
|
+
const cursor = await laser.topic(topic).replay({ batchSize: READ_BATCH });
|
|
184
|
+
const resume = this.options.fromCheckpoint?.topicOffsets(topic);
|
|
185
|
+
cursor.fromOffsets(resume ?? this.options.fromOffsets);
|
|
186
|
+
const stop = this.options.toCheckpoint;
|
|
187
|
+
if (stop !== undefined) {
|
|
188
|
+
// A checkpoint holds the next offset to write, so a partition it does
|
|
189
|
+
// not name existed only after it and reads as empty.
|
|
190
|
+
const ends = stop.topicOffsets(topic) ?? new Map();
|
|
191
|
+
cursor.until(new Map([...cursor.offsets.keys()].map((partition) => [partition, ends.get(partition) ?? 0n])));
|
|
192
|
+
}
|
|
112
193
|
for (;;) {
|
|
113
194
|
const records = await cursor.poll();
|
|
114
195
|
if (records.length === 0)
|
|
@@ -125,6 +206,7 @@ export class ContextAssembler {
|
|
|
125
206
|
? { envelope: decoded.message.envelope }
|
|
126
207
|
: {}),
|
|
127
208
|
timestampMicros: record.timestampMicros ?? 0n,
|
|
209
|
+
topic,
|
|
128
210
|
topicIndex
|
|
129
211
|
});
|
|
130
212
|
if (collected.length > MAX_CONTEXT_RECORDS)
|