@agentuity/runtime 0.0.107 → 0.0.109
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/dist/_context.d.ts +2 -1
- package/dist/_context.d.ts.map +1 -1
- package/dist/_context.js +1 -0
- package/dist/_context.js.map +1 -1
- package/dist/_metadata.d.ts.map +1 -1
- package/dist/_metadata.js +7 -0
- package/dist/_metadata.js.map +1 -1
- package/dist/_standalone.d.ts +2 -1
- package/dist/_standalone.d.ts.map +1 -1
- package/dist/_standalone.js +26 -9
- package/dist/_standalone.js.map +1 -1
- package/dist/agent.d.ts +18 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +2 -0
- package/dist/agent.js.map +1 -1
- package/dist/bun-s3-patch.d.ts +13 -2
- package/dist/bun-s3-patch.d.ts.map +1 -1
- package/dist/bun-s3-patch.js +82 -8
- package/dist/bun-s3-patch.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +7 -4
- package/dist/middleware.js.map +1 -1
- package/dist/services/thread/local.d.ts.map +1 -1
- package/dist/services/thread/local.js +106 -25
- package/dist/services/thread/local.js.map +1 -1
- package/dist/session.d.ts +206 -27
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +386 -69
- package/dist/session.js.map +1 -1
- package/dist/workbench.d.ts.map +1 -1
- package/dist/workbench.js +15 -9
- package/dist/workbench.js.map +1 -1
- package/package.json +5 -5
- package/src/_context.ts +2 -1
- package/src/_metadata.ts +11 -0
- package/src/_standalone.ts +27 -10
- package/src/agent.ts +22 -1
- package/src/bun-s3-patch.ts +138 -10
- package/src/index.ts +6 -0
- package/src/middleware.ts +8 -4
- package/src/services/thread/local.ts +119 -30
- package/src/session.ts +599 -90
- package/src/workbench.ts +19 -10
package/dist/session.d.ts
CHANGED
|
@@ -17,6 +17,114 @@ export interface ParsedThreadData {
|
|
|
17
17
|
export declare function parseThreadData(raw: string | undefined): ParsedThreadData;
|
|
18
18
|
export type ThreadEventName = 'destroyed';
|
|
19
19
|
export type SessionEventName = 'completed';
|
|
20
|
+
/**
|
|
21
|
+
* Represents a merge operation for thread state.
|
|
22
|
+
* Used when state is modified without being loaded first.
|
|
23
|
+
*/
|
|
24
|
+
export interface MergeOperation {
|
|
25
|
+
op: 'set' | 'delete' | 'clear' | 'push';
|
|
26
|
+
key?: string;
|
|
27
|
+
value?: unknown;
|
|
28
|
+
maxRecords?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Async thread state storage with lazy loading.
|
|
32
|
+
*
|
|
33
|
+
* State is only fetched from storage when first accessed via a read operation.
|
|
34
|
+
* Write operations can be batched and sent as a merge command without loading.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* // Read triggers lazy load
|
|
39
|
+
* const count = await ctx.thread.state.get<number>('messageCount');
|
|
40
|
+
*
|
|
41
|
+
* // Write queues operation (may not trigger load)
|
|
42
|
+
* await ctx.thread.state.set('messageCount', (count ?? 0) + 1);
|
|
43
|
+
*
|
|
44
|
+
* // Check state status
|
|
45
|
+
* if (ctx.thread.state.dirty) {
|
|
46
|
+
* console.log('State has pending changes');
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export interface ThreadState {
|
|
51
|
+
/**
|
|
52
|
+
* Whether state has been loaded from storage.
|
|
53
|
+
* True when state has been fetched via a read operation.
|
|
54
|
+
*/
|
|
55
|
+
readonly loaded: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Whether state has pending changes.
|
|
58
|
+
* True when there are queued writes (pending-writes state) or
|
|
59
|
+
* modifications after loading (loaded state with changes).
|
|
60
|
+
*/
|
|
61
|
+
readonly dirty: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Get a value from thread state.
|
|
64
|
+
* Triggers lazy load if state hasn't been fetched yet.
|
|
65
|
+
*/
|
|
66
|
+
get<T = unknown>(key: string): Promise<T | undefined>;
|
|
67
|
+
/**
|
|
68
|
+
* Set a value in thread state.
|
|
69
|
+
* If state hasn't been loaded, queues the operation for merge.
|
|
70
|
+
*/
|
|
71
|
+
set<T = unknown>(key: string, value: T): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Check if a key exists in thread state.
|
|
74
|
+
* Triggers lazy load if state hasn't been fetched yet.
|
|
75
|
+
*/
|
|
76
|
+
has(key: string): Promise<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* Delete a key from thread state.
|
|
79
|
+
* If state hasn't been loaded, queues the operation for merge.
|
|
80
|
+
*/
|
|
81
|
+
delete(key: string): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Clear all thread state.
|
|
84
|
+
* If state hasn't been loaded, queues a clear operation for merge.
|
|
85
|
+
*/
|
|
86
|
+
clear(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Get all entries as key-value pairs.
|
|
89
|
+
* Triggers lazy load if state hasn't been fetched yet.
|
|
90
|
+
*/
|
|
91
|
+
entries<T = unknown>(): Promise<[string, T][]>;
|
|
92
|
+
/**
|
|
93
|
+
* Get all keys.
|
|
94
|
+
* Triggers lazy load if state hasn't been fetched yet.
|
|
95
|
+
*/
|
|
96
|
+
keys(): Promise<string[]>;
|
|
97
|
+
/**
|
|
98
|
+
* Get all values.
|
|
99
|
+
* Triggers lazy load if state hasn't been fetched yet.
|
|
100
|
+
*/
|
|
101
|
+
values<T = unknown>(): Promise<T[]>;
|
|
102
|
+
/**
|
|
103
|
+
* Get the number of entries in state.
|
|
104
|
+
* Triggers lazy load if state hasn't been fetched yet.
|
|
105
|
+
*/
|
|
106
|
+
size(): Promise<number>;
|
|
107
|
+
/**
|
|
108
|
+
* Push a value to an array in thread state.
|
|
109
|
+
* If the key doesn't exist, creates a new array with the value.
|
|
110
|
+
* If state hasn't been loaded, queues the operation for efficient merge.
|
|
111
|
+
*
|
|
112
|
+
* @param key - The key of the array to push to
|
|
113
|
+
* @param value - The value to push
|
|
114
|
+
* @param maxRecords - Optional maximum number of records to keep (sliding window)
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* // Efficiently append messages without loading entire array
|
|
119
|
+
* await ctx.thread.state.push('messages', { role: 'user', content: 'Hello' });
|
|
120
|
+
* await ctx.thread.state.push('messages', { role: 'assistant', content: 'Hi!' });
|
|
121
|
+
*
|
|
122
|
+
* // Keep only the last 100 messages
|
|
123
|
+
* await ctx.thread.state.push('messages', newMessage, 100);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
push<T = unknown>(key: string, value: T, maxRecords?: number): Promise<void>;
|
|
127
|
+
}
|
|
20
128
|
type ThreadEventCallback<T extends Thread> = (eventName: 'destroyed', thread: T) => Promise<void> | void;
|
|
21
129
|
type SessionEventCallback<T extends Session> = (eventName: 'completed', session: T) => Promise<void> | void;
|
|
22
130
|
/**
|
|
@@ -35,9 +143,12 @@ type SessionEventCallback<T extends Session> = (eventName: 'completed', session:
|
|
|
35
143
|
* ctx.logger.info('Thread: %s', ctx.thread.id);
|
|
36
144
|
*
|
|
37
145
|
* // Store data in thread state (persists across sessions)
|
|
38
|
-
* ctx.thread.state.
|
|
39
|
-
*
|
|
40
|
-
*
|
|
146
|
+
* const count = await ctx.thread.state.get<number>('conversationCount') ?? 0;
|
|
147
|
+
* await ctx.thread.state.set('conversationCount', count + 1);
|
|
148
|
+
*
|
|
149
|
+
* // Access metadata
|
|
150
|
+
* const meta = await ctx.thread.getMetadata();
|
|
151
|
+
* await ctx.thread.setMetadata({ ...meta, lastAccess: Date.now() });
|
|
41
152
|
*
|
|
42
153
|
* // Listen for thread destruction
|
|
43
154
|
* ctx.thread.addEventListener('destroyed', (eventName, thread) => {
|
|
@@ -56,30 +167,38 @@ export interface Thread {
|
|
|
56
167
|
*/
|
|
57
168
|
id: string;
|
|
58
169
|
/**
|
|
59
|
-
* Thread-scoped state storage
|
|
60
|
-
*
|
|
170
|
+
* Thread-scoped state storage with async lazy-loading.
|
|
171
|
+
* State is only fetched from storage when first accessed via a read operation.
|
|
61
172
|
*
|
|
62
173
|
* @example
|
|
63
174
|
* ```typescript
|
|
64
|
-
* //
|
|
65
|
-
* ctx.thread.state.
|
|
66
|
-
*
|
|
67
|
-
* );
|
|
175
|
+
* // Read triggers lazy load
|
|
176
|
+
* const count = await ctx.thread.state.get<number>('messageCount');
|
|
177
|
+
* // Write may queue operation without loading
|
|
178
|
+
* await ctx.thread.state.set('messageCount', (count ?? 0) + 1);
|
|
68
179
|
* ```
|
|
69
180
|
*/
|
|
70
|
-
state:
|
|
181
|
+
state: ThreadState;
|
|
71
182
|
/**
|
|
72
|
-
*
|
|
73
|
-
* Unlike state, metadata is stored
|
|
74
|
-
* for efficient filtering. Initialized to empty object, only persisted if non-empty.
|
|
183
|
+
* Get thread metadata (lazy-loaded).
|
|
184
|
+
* Unlike state, metadata is stored unencrypted for efficient filtering.
|
|
75
185
|
*
|
|
76
186
|
* @example
|
|
77
187
|
* ```typescript
|
|
78
|
-
* ctx.thread.
|
|
79
|
-
*
|
|
188
|
+
* const meta = await ctx.thread.getMetadata();
|
|
189
|
+
* console.log(meta.userId);
|
|
80
190
|
* ```
|
|
81
191
|
*/
|
|
82
|
-
|
|
192
|
+
getMetadata(): Promise<Record<string, unknown>>;
|
|
193
|
+
/**
|
|
194
|
+
* Set thread metadata (full replace).
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* await ctx.thread.setMetadata({ userId: 'user123', department: 'sales' });
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
setMetadata(metadata: Record<string, unknown>): Promise<void>;
|
|
83
202
|
/**
|
|
84
203
|
* Register an event listener for when the thread is destroyed.
|
|
85
204
|
* Thread is destroyed when it expires or is manually destroyed.
|
|
@@ -116,15 +235,16 @@ export interface Thread {
|
|
|
116
235
|
/**
|
|
117
236
|
* Check if the thread has any data.
|
|
118
237
|
* Returns true if thread state is empty (no data to save).
|
|
238
|
+
* This is async because it may need to check lazy-loaded state.
|
|
119
239
|
*
|
|
120
240
|
* @example
|
|
121
241
|
* ```typescript
|
|
122
|
-
* if (ctx.thread.empty()) {
|
|
242
|
+
* if (await ctx.thread.empty()) {
|
|
123
243
|
* // Thread has no data, won't be persisted
|
|
124
244
|
* }
|
|
125
245
|
* ```
|
|
126
246
|
*/
|
|
127
|
-
empty(): boolean
|
|
247
|
+
empty(): Promise<boolean>;
|
|
128
248
|
}
|
|
129
249
|
/**
|
|
130
250
|
* Represents a single request-response session within a thread.
|
|
@@ -444,31 +564,89 @@ export declare class DefaultThreadIDProvider implements ThreadIDProvider {
|
|
|
444
564
|
private getSecret;
|
|
445
565
|
getThreadId(_appState: AppState, ctx: Context<Env>): Promise<string>;
|
|
446
566
|
}
|
|
567
|
+
type LazyStateStatus = 'idle' | 'pending-writes' | 'loaded';
|
|
568
|
+
type RestoreFn = () => Promise<{
|
|
569
|
+
state: Map<string, unknown>;
|
|
570
|
+
metadata: Record<string, unknown>;
|
|
571
|
+
}>;
|
|
572
|
+
export declare class LazyThreadState implements ThreadState {
|
|
573
|
+
#private;
|
|
574
|
+
constructor(restoreFn: RestoreFn);
|
|
575
|
+
get loaded(): boolean;
|
|
576
|
+
get dirty(): boolean;
|
|
577
|
+
private ensureLoaded;
|
|
578
|
+
private doLoad;
|
|
579
|
+
get<T = unknown>(key: string): Promise<T | undefined>;
|
|
580
|
+
set<T = unknown>(key: string, value: T): Promise<void>;
|
|
581
|
+
has(key: string): Promise<boolean>;
|
|
582
|
+
delete(key: string): Promise<void>;
|
|
583
|
+
clear(): Promise<void>;
|
|
584
|
+
entries<T = unknown>(): Promise<[string, T][]>;
|
|
585
|
+
keys(): Promise<string[]>;
|
|
586
|
+
values<T = unknown>(): Promise<T[]>;
|
|
587
|
+
size(): Promise<number>;
|
|
588
|
+
push<T = unknown>(key: string, value: T, maxRecords?: number): Promise<void>;
|
|
589
|
+
/**
|
|
590
|
+
* Get the current status for save logic
|
|
591
|
+
* @internal
|
|
592
|
+
*/
|
|
593
|
+
getStatus(): LazyStateStatus;
|
|
594
|
+
/**
|
|
595
|
+
* Get pending operations for merge command
|
|
596
|
+
* @internal
|
|
597
|
+
*/
|
|
598
|
+
getPendingOperations(): MergeOperation[];
|
|
599
|
+
/**
|
|
600
|
+
* Get serialized state for full save.
|
|
601
|
+
* Ensures state is loaded before serializing.
|
|
602
|
+
* @internal
|
|
603
|
+
*/
|
|
604
|
+
getSerializedState(): Promise<Record<string, unknown>>;
|
|
605
|
+
}
|
|
447
606
|
export declare class DefaultThread implements Thread {
|
|
448
607
|
#private;
|
|
449
608
|
readonly id: string;
|
|
450
|
-
readonly state:
|
|
451
|
-
metadata: Record<string, unknown>;
|
|
609
|
+
readonly state: LazyThreadState;
|
|
452
610
|
private provider;
|
|
453
|
-
constructor(provider: ThreadProvider, id: string,
|
|
611
|
+
constructor(provider: ThreadProvider, id: string, restoreFn: RestoreFn, initialMetadata?: Record<string, unknown>);
|
|
612
|
+
private ensureMetadataLoaded;
|
|
613
|
+
private doLoadMetadata;
|
|
614
|
+
getMetadata(): Promise<Record<string, unknown>>;
|
|
615
|
+
setMetadata(metadata: Record<string, unknown>): Promise<void>;
|
|
454
616
|
addEventListener(eventName: ThreadEventName, callback: ThreadEventCallback<any>): void;
|
|
455
617
|
removeEventListener(eventName: ThreadEventName, callback: ThreadEventCallback<any>): void;
|
|
456
618
|
fireEvent(eventName: ThreadEventName): Promise<void>;
|
|
457
619
|
destroy(): Promise<void>;
|
|
458
620
|
/**
|
|
459
|
-
* Check if thread
|
|
621
|
+
* Check if thread has any data (state or metadata)
|
|
622
|
+
*/
|
|
623
|
+
empty(): Promise<boolean>;
|
|
624
|
+
/**
|
|
625
|
+
* Check if thread needs saving
|
|
460
626
|
* @internal
|
|
461
627
|
*/
|
|
462
|
-
|
|
628
|
+
needsSave(): boolean;
|
|
463
629
|
/**
|
|
464
|
-
*
|
|
630
|
+
* Get the save mode for this thread
|
|
631
|
+
* @internal
|
|
632
|
+
*/
|
|
633
|
+
getSaveMode(): 'none' | 'merge' | 'full';
|
|
634
|
+
/**
|
|
635
|
+
* Get pending operations for merge command
|
|
636
|
+
* @internal
|
|
637
|
+
*/
|
|
638
|
+
getPendingOperations(): MergeOperation[];
|
|
639
|
+
/**
|
|
640
|
+
* Get metadata for saving (returns null if not loaded/modified)
|
|
641
|
+
* @internal
|
|
465
642
|
*/
|
|
466
|
-
|
|
643
|
+
getMetadataForSave(): Record<string, unknown> | undefined;
|
|
467
644
|
/**
|
|
468
|
-
* Get serialized state for
|
|
645
|
+
* Get serialized state for full save.
|
|
646
|
+
* Ensures state is loaded before serializing.
|
|
469
647
|
* @internal
|
|
470
648
|
*/
|
|
471
|
-
getSerializedState(): string
|
|
649
|
+
getSerializedState(): Promise<string>;
|
|
472
650
|
}
|
|
473
651
|
export declare class DefaultSession implements Session {
|
|
474
652
|
readonly id: string;
|
|
@@ -532,6 +710,7 @@ export declare class ThreadWebSocketClient {
|
|
|
532
710
|
restore(threadId: string): Promise<string | undefined>;
|
|
533
711
|
save(threadId: string, userData: string, threadMetadata?: Record<string, unknown>): Promise<void>;
|
|
534
712
|
delete(threadId: string): Promise<void>;
|
|
713
|
+
merge(threadId: string, operations: MergeOperation[], metadata?: Record<string, unknown>): Promise<void>;
|
|
535
714
|
cleanup(): void;
|
|
536
715
|
}
|
|
537
716
|
export declare class DefaultThreadProvider implements ThreadProvider {
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAkBzE;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC;AAC1C,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE3C,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAAI,CAC5C,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,CAAC,KACL,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,KAAK,oBAAoB,CAAC,CAAC,SAAS,OAAO,IAAI,CAC9C,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,CAAC,KACN,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|