@deepagents/context 0.18.0 → 0.20.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.
@@ -0,0 +1,54 @@
1
+ import { type UIMessage } from 'ai';
2
+ import type { ContextFragment } from '../../fragments.ts';
3
+ export interface UserReminderOptions {
4
+ asPart?: boolean;
5
+ }
6
+ export interface UserReminder {
7
+ text: string;
8
+ asPart: boolean;
9
+ }
10
+ export interface UserReminderMetadata {
11
+ id: string;
12
+ text: string;
13
+ partIndex: number;
14
+ start: number;
15
+ end: number;
16
+ mode: 'inline' | 'part';
17
+ }
18
+ export type ReminderRange = {
19
+ partIndex: number;
20
+ start: number;
21
+ end: number;
22
+ };
23
+ export declare function getReminderRanges(metadata: Record<string, unknown> | undefined): ReminderRange[];
24
+ export declare function stripTextByRanges(text: string, ranges: Array<{
25
+ start: number;
26
+ end: number;
27
+ }>): string;
28
+ /**
29
+ * Create a user reminder payload for user message builders.
30
+ *
31
+ * Default behavior injects reminder text inline as
32
+ * `<system-reminder>...</system-reminder>`.
33
+ *
34
+ * @param text - Reminder text (must not be empty)
35
+ * @param options - Reminder representation options
36
+ */
37
+ export declare function reminder(text: string, options?: UserReminderOptions): UserReminder;
38
+ /**
39
+ * Create a user message fragment.
40
+ * Message fragments are separated from regular fragments during resolve().
41
+ *
42
+ * @param content - The message content
43
+ * @param reminders - Optional hidden/system reminders
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * context.set(user('Hello')); // Plain user message
48
+ * context.set(
49
+ * user('Deploy this', reminder('Ask for confirmation before destructive actions')),
50
+ * );
51
+ * ```
52
+ */
53
+ export declare function user(content: string | UIMessage, ...reminders: UserReminder[]): ContextFragment;
54
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/message/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,IAAI,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAKF,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC5C,aAAa,EAAE,CAEjB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5C,MAAM,CAkCR;AAmFD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAMd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAClB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,GAAG,SAAS,EAAE,YAAY,EAAE,GAC3B,eAAe,CA8CjB"}
@@ -60,20 +60,6 @@ export declare function isFragmentObject(data: unknown): data is FragmentObject;
60
60
  */
61
61
  export declare function isMessageFragment(fragment: ContextFragment): boolean;
62
62
  export declare function fragment(name: string, ...children: FragmentData[]): ContextFragment;
63
- /**
64
- * Create a user message fragment.
65
- * Message fragments are separated from regular fragments during resolve().
66
- *
67
- * @param content - The message content
68
- * @param options - Optional settings (id)
69
- *
70
- * @example
71
- * ```ts
72
- * context.set(user('Hello')); // Auto-generated ID
73
- * context.set(user('Hello', { id: 'msg-1' })); // Custom ID
74
- * ```
75
- */
76
- export declare function user(content: string | UIMessage): ContextFragment;
77
63
  /**
78
64
  * Create an assistant message fragment.
79
65
  * Message fragments are separated from regular fragments during resolve().
@@ -1 +1 @@
1
- {"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../../src/lib/fragments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,IAAI,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IACpE;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,GACT,OAAO,GACP,eAAe,GACf,YAAY,EAAE,GACd;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,CAAC;AAEpC;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,CAQjE;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE1D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAOtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAEpE;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,GAAG,QAAQ,EAAE,YAAY,EAAE,GAC1B,eAAe,CAKjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAwBjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,eAAe,CAgB7D;AACD,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAwBpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,eAAe,CAOjB;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,eAA4C,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,eAAe,GACxB,QAAQ,IAAI,YAAY,CAE1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAWrE"}
1
+ {"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../../src/lib/fragments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,IAAI,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IACpE;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,GACT,OAAO,GACP,eAAe,GACf,YAAY,EAAE,GACd;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,CAAC;AAEpC;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,CAQjE;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE1D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAOtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAEpE;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,GAAG,QAAQ,EAAE,YAAY,EAAE,GAC1B,eAAe,CAKjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,eAAe,CAgB7D;AACD,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAwBpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,eAAe,CAOjB;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,eAA4C,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,eAAe,GACxB,QAAQ,IAAI,YAAY,CAE1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAWrE"}
@@ -0,0 +1,23 @@
1
+ export interface AdaptivePollingConfig {
2
+ minMs: number;
3
+ maxMs: number;
4
+ multiplier: number;
5
+ jitterRatio: number;
6
+ }
7
+ export interface WatchPollingConfig extends AdaptivePollingConfig {
8
+ statusCheckEvery: number;
9
+ chunkPageSize: number;
10
+ }
11
+ export type CancelPollingConfig = AdaptivePollingConfig;
12
+ export interface AdaptivePollingState {
13
+ config: AdaptivePollingConfig;
14
+ currentMs: number;
15
+ }
16
+ export declare const DEFAULT_WATCH_POLLING: WatchPollingConfig;
17
+ export declare const DEFAULT_CANCEL_POLLING: CancelPollingConfig;
18
+ export declare function normalizeWatchPolling(polling: Partial<WatchPollingConfig> | undefined, fallback?: WatchPollingConfig): WatchPollingConfig;
19
+ export declare function normalizeCancelPolling(polling: Partial<CancelPollingConfig> | undefined, fallback?: CancelPollingConfig): CancelPollingConfig;
20
+ export declare function createAdaptivePollingState(config: AdaptivePollingConfig): AdaptivePollingState;
21
+ export declare function resetAdaptivePolling(state: AdaptivePollingState): void;
22
+ export declare function nextAdaptivePollingDelay(state: AdaptivePollingState): number;
23
+ //# sourceMappingURL=polling-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polling-policy.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/polling-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,qBAAqB,EAAE,kBAOnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,mBAKpC,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,EAChD,QAAQ,GAAE,kBAA0C,GACnD,kBAAkB,CAWpB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,EACjD,QAAQ,GAAE,mBAA4C,GACrD,mBAAmB,CAErB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,qBAAqB,GAC5B,oBAAoB,CAKtB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAEtE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAkB5E"}
@@ -3,6 +3,7 @@ import type { StreamChunkData, StreamData, StreamStatus } from './stream-store.t
3
3
  import { StreamStore } from './stream-store.ts';
4
4
  export declare class SqliteStreamStore extends StreamStore {
5
5
  #private;
6
+ close(): void;
6
7
  constructor(pathOrDb: string | DatabaseSync);
7
8
  createStream(stream: StreamData): Promise<void>;
8
9
  upsertStream(stream: StreamData): Promise<{
@@ -10,6 +11,7 @@ export declare class SqliteStreamStore extends StreamStore {
10
11
  created: boolean;
11
12
  }>;
12
13
  getStream(streamId: string): Promise<StreamData | undefined>;
14
+ getStreamStatus(streamId: string): Promise<StreamStatus | undefined>;
13
15
  updateStreamStatus(streamId: string, status: StreamStatus, options?: {
14
16
  error?: string;
15
17
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/sqlite.stream-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,WAAW;;gBAapC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAOrC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,YAAY,CAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAkD9C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA4B5D,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+BV,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtD,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IA+BvB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAsD1D"}
1
+ {"version":3,"file":"sqlite.stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/sqlite.stream-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,WAAW;;IAchD,KAAK,IAAI,IAAI;gBAOD,QAAQ,EAAE,MAAM,GAAG,YAAY;IAOrC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,YAAY,CAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAkD9C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IA4B5D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAWpE,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+BV,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtD,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IA+BvB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAsD1D"}
@@ -1,8 +1,47 @@
1
1
  import type { StreamPart } from '../guardrail.ts';
2
2
  import { type PersistedWriterOptions } from '../stream-buffer.ts';
3
- import type { StreamData, StreamStore } from './stream-store.ts';
3
+ import { type CancelPollingConfig, type WatchPollingConfig } from './polling-policy.ts';
4
+ import type { StreamData, StreamStatus, StreamStore } from './stream-store.ts';
5
+ export type WatchStreamOptions = Partial<WatchPollingConfig>;
6
+ export type PersistCancelPollingOptions = Partial<CancelPollingConfig>;
7
+ export interface PersistStreamOptions extends Pick<PersistedWriterOptions, 'strategy' | 'flushSize'> {
8
+ cancelPolling?: PersistCancelPollingOptions;
9
+ }
10
+ export type StreamPollingTelemetryEvent = {
11
+ type: 'watch:poll';
12
+ streamId: string;
13
+ fromSeq: number;
14
+ chunkCount: number;
15
+ statusChecked: boolean;
16
+ } | {
17
+ type: 'watch:empty';
18
+ streamId: string;
19
+ fromSeq: number;
20
+ delayMs: number;
21
+ } | {
22
+ type: 'watch:chunks';
23
+ streamId: string;
24
+ delivered: number;
25
+ lastSeq: number;
26
+ } | {
27
+ type: 'watch:closed';
28
+ streamId: string;
29
+ reason: 'terminal' | 'missing';
30
+ } | {
31
+ type: 'persist:cancel-poll';
32
+ streamId: string;
33
+ delayMs: number;
34
+ status: StreamStatus | 'missing';
35
+ } | {
36
+ type: 'persist:cancel-detected';
37
+ streamId: string;
38
+ latencyMs: number | null;
39
+ };
4
40
  export interface StreamManagerOptions {
5
41
  store: StreamStore;
42
+ watchPolling?: WatchStreamOptions;
43
+ cancelPolling?: PersistCancelPollingOptions;
44
+ onPollingEvent?: (event: StreamPollingTelemetryEvent) => void;
6
45
  }
7
46
  export declare class StreamManager {
8
47
  #private;
@@ -13,14 +52,10 @@ export declare class StreamManager {
13
52
  created: boolean;
14
53
  }>;
15
54
  cancel(streamId: string): Promise<void>;
16
- persist(stream: ReadableStream, streamId: string, options?: Pick<PersistedWriterOptions, 'strategy' | 'flushSize'> & {
17
- cancelCheckInterval?: number;
18
- }): Promise<{
55
+ persist(stream: ReadableStream, streamId: string, options?: PersistStreamOptions): Promise<{
19
56
  streamId: string;
20
57
  }>;
21
- watch(streamId: string, options?: {
22
- interval?: number;
23
- }): ReadableStream<StreamPart>;
58
+ watch(streamId: string, options?: WatchStreamOptions): ReadableStream<StreamPart>;
24
59
  reopen(streamId: string): Promise<{
25
60
  stream: StreamData;
26
61
  created: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"stream-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/stream-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAgB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM/E,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,qBAAa,aAAa;;gBAGZ,OAAO,EAAE,oBAAoB;IAIzC,IAAI,KAAK,IAAI,WAAW,CAEvB;IAEK,QAAQ,CACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAY9C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,CACX,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;QACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,GACA,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAmEhC,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9B,cAAc,CAAC,UAAU,CAAC;IAyCvB,MAAM,CACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAK9C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C"}
1
+ {"version":3,"file":"stream-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/stream-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,mBAAmB,EAGxB,KAAK,kBAAkB,EAMxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAEV,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAM3B,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC7D,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEvE,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,sBAAsB,EACtB,UAAU,GAAG,WAAW,CACzB;IACC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C;AAED,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,aAAa,CAAC,EAAE,2BAA2B,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAC/D;AAED,qBAAa,aAAa;;gBAMZ,OAAO,EAAE,oBAAoB;IAazC,IAAI,KAAK,IAAI,WAAW,CAEvB;IAEK,QAAQ,CACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAY9C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,CACX,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAoGhC,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,cAAc,CAAC,UAAU,CAAC;IAoIvB,MAAM,CACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAK9C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY/C"}
@@ -21,6 +21,7 @@ export declare abstract class StreamStore {
21
21
  created: boolean;
22
22
  }>;
23
23
  abstract getStream(streamId: string): Promise<StreamData | undefined>;
24
+ abstract getStreamStatus(streamId: string): Promise<StreamStatus | undefined>;
24
25
  abstract updateStreamStatus(streamId: string, status: StreamStatus, options?: {
25
26
  error?: string;
26
27
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/stream-store.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAExD,QAAQ,CAAC,YAAY,CACnB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAEpD,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAErE,QAAQ,CAAC,kBAAkB,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IAEhB,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/D,QAAQ,CAAC,SAAS,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IAE7B,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtD,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAC7D"}
1
+ {"version":3,"file":"stream-store.d.ts","sourceRoot":"","sources":["../../../src/lib/stream/stream-store.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAExD,QAAQ,CAAC,YAAY,CACnB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAEpD,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAErE,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAE7E,QAAQ,CAAC,kBAAkB,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IAEhB,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/D,QAAQ,CAAC,SAAS,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,EAAE,CAAC;IAE7B,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtD,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAC7D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepagents/context",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,6 +21,11 @@
21
21
  "types": "./dist/index.d.ts",
22
22
  "import": "./dist/index.js",
23
23
  "default": "./dist/index.js"
24
+ },
25
+ "./browser": {
26
+ "types": "./dist/browser.d.ts",
27
+ "import": "./dist/browser.js",
28
+ "default": "./dist/browser.js"
24
29
  }
25
30
  },
26
31
  "files": [
@@ -38,8 +43,7 @@
38
43
  "ai": "^6.0.90",
39
44
  "chalk": "^5.6.0",
40
45
  "yaml": "^2.8.0",
41
- "zod": "^3.25.76 || ^4.0.0",
42
- "@deepagents/agent": "0.18.0",
46
+ "@deepagents/agent": "0.20.0",
43
47
  "@ai-sdk/groq": "^3.0.24",
44
48
  "bash-tool": "^1.3.14",
45
49
  "just-bash": "^2.10.0",