@lichen-ai/lichen-sdk 0.1.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.
Files changed (122) hide show
  1. package/LICENSE +21 -0
  2. package/dist/auth/error.d.ts +9 -0
  3. package/dist/auth/error.js +76 -0
  4. package/dist/auth/error.js.map +1 -0
  5. package/dist/auth/error.mjs +76 -0
  6. package/dist/auth/error.mjs.map +1 -0
  7. package/dist/auth/index.d.ts +18 -0
  8. package/dist/auth/index.js +35 -0
  9. package/dist/auth/index.js.map +1 -0
  10. package/dist/auth/index.mjs +35 -0
  11. package/dist/auth/index.mjs.map +1 -0
  12. package/dist/auth/types.d.ts +297 -0
  13. package/dist/auth/types.js +2 -0
  14. package/dist/auth/types.js.map +1 -0
  15. package/dist/auth/types.mjs +2 -0
  16. package/dist/auth/types.mjs.map +1 -0
  17. package/dist/client.d.ts +773 -0
  18. package/dist/client.js +1544 -0
  19. package/dist/client.js.map +1 -0
  20. package/dist/client.mjs +1544 -0
  21. package/dist/client.mjs.map +1 -0
  22. package/dist/index.d.ts +7 -0
  23. package/dist/index.js +3 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/index.mjs +3 -0
  26. package/dist/index.mjs.map +1 -0
  27. package/dist/logging/index.d.ts +43 -0
  28. package/dist/logging/index.js +33 -0
  29. package/dist/logging/index.js.map +1 -0
  30. package/dist/logging/index.mjs +33 -0
  31. package/dist/logging/index.mjs.map +1 -0
  32. package/dist/schema.d.ts +661 -0
  33. package/dist/schema.js +30 -0
  34. package/dist/schema.js.map +1 -0
  35. package/dist/schema.mjs +30 -0
  36. package/dist/schema.mjs.map +1 -0
  37. package/dist/singletons/fetch.d.ts +7 -0
  38. package/dist/singletons/fetch.js +24 -0
  39. package/dist/singletons/fetch.js.map +1 -0
  40. package/dist/singletons/fetch.mjs +24 -0
  41. package/dist/singletons/fetch.mjs.map +1 -0
  42. package/dist/tests/fetch.test.d.ts +1 -0
  43. package/dist/tests/fetch.test.js +460 -0
  44. package/dist/tests/fetch.test.js.map +1 -0
  45. package/dist/tests/fetch.test.mjs +460 -0
  46. package/dist/tests/fetch.test.mjs.map +1 -0
  47. package/dist/tests/sse.test.d.ts +1 -0
  48. package/dist/tests/sse.test.js +132 -0
  49. package/dist/tests/sse.test.js.map +1 -0
  50. package/dist/tests/sse.test.mjs +132 -0
  51. package/dist/tests/sse.test.mjs.map +1 -0
  52. package/dist/types.d.ts +178 -0
  53. package/dist/types.js +2 -0
  54. package/dist/types.js.map +1 -0
  55. package/dist/types.messages.d.ts +86 -0
  56. package/dist/types.messages.js +2 -0
  57. package/dist/types.messages.js.map +1 -0
  58. package/dist/types.messages.mjs +2 -0
  59. package/dist/types.messages.mjs.map +1 -0
  60. package/dist/types.mjs +2 -0
  61. package/dist/types.mjs.map +1 -0
  62. package/dist/types.stream.d.ts +212 -0
  63. package/dist/types.stream.js +2 -0
  64. package/dist/types.stream.js.map +1 -0
  65. package/dist/types.stream.mjs +2 -0
  66. package/dist/types.stream.mjs.map +1 -0
  67. package/dist/ui/branching.d.ts +35 -0
  68. package/dist/ui/branching.js +143 -0
  69. package/dist/ui/branching.js.map +1 -0
  70. package/dist/ui/branching.mjs +143 -0
  71. package/dist/ui/branching.mjs.map +1 -0
  72. package/dist/ui/branching.test.d.ts +1 -0
  73. package/dist/ui/branching.test.js +369 -0
  74. package/dist/ui/branching.test.js.map +1 -0
  75. package/dist/ui/branching.test.mjs +369 -0
  76. package/dist/ui/branching.test.mjs.map +1 -0
  77. package/dist/ui/errors.d.ts +12 -0
  78. package/dist/ui/errors.js +10 -0
  79. package/dist/ui/errors.js.map +1 -0
  80. package/dist/ui/errors.mjs +10 -0
  81. package/dist/ui/errors.mjs.map +1 -0
  82. package/dist/ui/manager.d.ts +87 -0
  83. package/dist/ui/manager.js +158 -0
  84. package/dist/ui/manager.js.map +1 -0
  85. package/dist/ui/manager.mjs +158 -0
  86. package/dist/ui/manager.mjs.map +1 -0
  87. package/dist/ui/messages.d.ts +18 -0
  88. package/dist/ui/messages.js +64 -0
  89. package/dist/ui/messages.js.map +1 -0
  90. package/dist/ui/messages.mjs +64 -0
  91. package/dist/ui/messages.mjs.map +1 -0
  92. package/dist/ui/utils.d.ts +2 -0
  93. package/dist/ui/utils.js +11 -0
  94. package/dist/ui/utils.js.map +1 -0
  95. package/dist/ui/utils.mjs +11 -0
  96. package/dist/ui/utils.mjs.map +1 -0
  97. package/dist/utils/async_caller.d.ts +48 -0
  98. package/dist/utils/async_caller.js +153 -0
  99. package/dist/utils/async_caller.js.map +1 -0
  100. package/dist/utils/async_caller.mjs +153 -0
  101. package/dist/utils/async_caller.mjs.map +1 -0
  102. package/dist/utils/env.d.ts +1 -0
  103. package/dist/utils/env.js +13 -0
  104. package/dist/utils/env.js.map +1 -0
  105. package/dist/utils/env.mjs +13 -0
  106. package/dist/utils/env.mjs.map +1 -0
  107. package/dist/utils/signals.d.ts +1 -0
  108. package/dist/utils/signals.js +19 -0
  109. package/dist/utils/signals.js.map +1 -0
  110. package/dist/utils/signals.mjs +19 -0
  111. package/dist/utils/signals.mjs.map +1 -0
  112. package/dist/utils/sse.d.ts +8 -0
  113. package/dist/utils/sse.js +151 -0
  114. package/dist/utils/sse.js.map +1 -0
  115. package/dist/utils/sse.mjs +151 -0
  116. package/dist/utils/sse.mjs.map +1 -0
  117. package/dist/utils/stream.d.ts +13 -0
  118. package/dist/utils/stream.js +109 -0
  119. package/dist/utils/stream.js.map +1 -0
  120. package/dist/utils/stream.mjs +109 -0
  121. package/dist/utils/stream.mjs.map +1 -0
  122. package/package.json +63 -0
@@ -0,0 +1,132 @@
1
+ import { describe, test, expect } from 'vitest';
2
+ import { Readable } from 'node:stream';
3
+ import { IterableReadableStream } from "../utils/stream.mjs";
4
+ import { BytesLineDecoder, SSEDecoder } from "../utils/sse.mjs";
5
+ const gather = async (stream) => {
6
+ const results = [];
7
+ const iterator = IterableReadableStream.fromReadableStream(stream);
8
+ for await (const chunk of iterator)
9
+ results.push(chunk);
10
+ return results;
11
+ };
12
+ const textEncoder = new TextEncoder();
13
+ const textDecoder = new TextDecoder();
14
+ describe('BytesLineDecoder', () => {
15
+ const createStream = (chunks) => {
16
+ return Readable.toWeb(Readable.from(chunks));
17
+ };
18
+ test('handles single line with newline', async () => {
19
+ const input = createStream([textEncoder.encode('hello\n')]);
20
+ const decoded = input.pipeThrough(BytesLineDecoder());
21
+ const results = await gather(decoded);
22
+ expect(results.length).toBe(1);
23
+ expect(textDecoder.decode(results[0])).toBe('hello');
24
+ });
25
+ test('handles multiple lines', async () => {
26
+ const input = createStream([textEncoder.encode('line1\nline2\nline3\n')]);
27
+ const decoded = input.pipeThrough(BytesLineDecoder());
28
+ const results = await gather(decoded);
29
+ expect(results.length).toBe(3);
30
+ expect(textDecoder.decode(results[0])).toBe('line1');
31
+ expect(textDecoder.decode(results[1])).toBe('line2');
32
+ expect(textDecoder.decode(results[2])).toBe('line3');
33
+ });
34
+ test('handles split chunks', async () => {
35
+ const input = createStream([textEncoder.encode('li'), textEncoder.encode('ne1\nli'), textEncoder.encode('ne2\n')]);
36
+ const decoded = input.pipeThrough(BytesLineDecoder());
37
+ const results = await gather(decoded);
38
+ expect(results.length).toBe(2);
39
+ expect(textDecoder.decode(results[0])).toBe('line1');
40
+ expect(textDecoder.decode(results[1])).toBe('line2');
41
+ });
42
+ test('handles CR LF line endings', async () => {
43
+ const input = createStream([textEncoder.encode('line1\r\nline2\r\n')]);
44
+ const decoded = input.pipeThrough(BytesLineDecoder());
45
+ const results = await gather(decoded);
46
+ expect(results.length).toBe(2);
47
+ expect(textDecoder.decode(results[0])).toBe('line1');
48
+ expect(textDecoder.decode(results[1])).toBe('line2');
49
+ });
50
+ test('handles split CR LF', async () => {
51
+ const input = createStream([textEncoder.encode('line1\r'), textEncoder.encode('\nline2\r\n')]);
52
+ const decoded = input.pipeThrough(BytesLineDecoder());
53
+ const results = await gather(decoded);
54
+ expect(results.length).toBe(2);
55
+ expect(textDecoder.decode(results[0])).toBe('line1');
56
+ expect(textDecoder.decode(results[1])).toBe('line2');
57
+ });
58
+ test('handles stale line', async () => {
59
+ const input = createStream([textEncoder.encode('hello')]);
60
+ const decoded = input.pipeThrough(BytesLineDecoder());
61
+ const results = await gather(decoded);
62
+ expect(results.length).toBe(1);
63
+ expect(textDecoder.decode(results[0])).toBe('hello');
64
+ });
65
+ });
66
+ describe('SSEDecoder', () => {
67
+ const createStream = (lines) => {
68
+ return Readable.toWeb(Readable.from(lines.map((line) => textEncoder.encode(line))));
69
+ };
70
+ test('decodes simple event', async () => {
71
+ const input = createStream(['event: test\n', 'data: {"message": "hello"}\n', '\n']);
72
+ const decoded = input.pipeThrough(BytesLineDecoder()).pipeThrough(SSEDecoder());
73
+ const results = await gather(decoded);
74
+ expect(results.length).toBe(1);
75
+ expect(results[0]).toEqual({
76
+ event: 'test',
77
+ data: { message: 'hello' }
78
+ });
79
+ });
80
+ test('ignores comments', async () => {
81
+ const input = createStream([': this is a comment\n', 'event: test\n', 'data: {"message": "hello"}\n']);
82
+ const decoded = input.pipeThrough(BytesLineDecoder()).pipeThrough(SSEDecoder());
83
+ const results = await gather(decoded);
84
+ expect(results.length).toBe(1);
85
+ expect(results[0]).toEqual({
86
+ event: 'test',
87
+ data: { message: 'hello' }
88
+ });
89
+ });
90
+ test('handles multiple events', async () => {
91
+ const input = createStream([
92
+ 'event: test1\n',
93
+ 'data: {"message": "hello"}\n',
94
+ '\n',
95
+ 'event: test2\n',
96
+ 'data: {"message": "world"}\n',
97
+ '\n'
98
+ ]);
99
+ const decoded = input.pipeThrough(BytesLineDecoder()).pipeThrough(SSEDecoder());
100
+ const results = await gather(decoded);
101
+ expect(results.length).toBe(2);
102
+ expect(results[0]).toEqual({
103
+ event: 'test1',
104
+ data: { message: 'hello' }
105
+ });
106
+ expect(results[1]).toEqual({
107
+ event: 'test2',
108
+ data: { message: 'world' }
109
+ });
110
+ });
111
+ test('end event without data', async () => {
112
+ const input = createStream(['event: test\n']);
113
+ const decoded = input.pipeThrough(BytesLineDecoder()).pipeThrough(SSEDecoder());
114
+ const results = await gather(decoded);
115
+ expect(results.length).toBe(1);
116
+ expect(results[0]).toEqual({
117
+ event: 'test',
118
+ data: null
119
+ });
120
+ });
121
+ test('end event without newline', async () => {
122
+ const input = createStream(['event: end']);
123
+ const decoded = input.pipeThrough(BytesLineDecoder()).pipeThrough(SSEDecoder());
124
+ const results = await gather(decoded);
125
+ expect(results.length).toBe(1);
126
+ expect(results[0]).toEqual({
127
+ event: 'end',
128
+ data: null
129
+ });
130
+ });
131
+ });
132
+ //# sourceMappingURL=sse.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.test.mjs","sourceRoot":"","sources":["../../src/tests/sse.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import { Checkpoint, Config, Metadata, RunInput } from './schema.js';
2
+ import { StreamMode } from './types.stream.js';
3
+ export type MultitaskStrategy = 'reject' | 'interrupt' | 'rollback' | 'enqueue';
4
+ export type OnConflictBehavior = 'raise' | 'do_nothing';
5
+ export type OnCompletionBehavior = 'complete' | 'continue';
6
+ export type DisconnectMode = 'cancel' | 'continue';
7
+ export type Durability = 'exit' | 'async' | 'sync';
8
+ export type StreamEvent = 'events' | 'metadata' | 'debug' | 'updates' | 'values' | 'messages/partial' | 'messages/metadata' | 'messages/complete' | 'messages' | (string & {});
9
+ export interface Send {
10
+ node: string;
11
+ input: unknown | null;
12
+ }
13
+ export interface Command {
14
+ /**
15
+ * An object to update the thread state with.
16
+ */
17
+ update?: Record<string, unknown> | [string, unknown][] | null;
18
+ /**
19
+ * The value to return from an `interrupt` function call.
20
+ */
21
+ resume?: unknown;
22
+ /**
23
+ * Determine the next node to navigate to. Can be one of the following:
24
+ * - Name(s) of the node names to navigate to next.
25
+ * - `Send` command(s) to execute node(s) with provided input.
26
+ */
27
+ goto?: Send | Send[] | string | string[];
28
+ }
29
+ export interface RunsInvokePayload {
30
+ /**
31
+ * Input to the run. Must be a valid {@link ChatRequest} (send / resume / retry)
32
+ * or a {@link LegacyChatRequest}.
33
+ * Pass `null` to resume from the current state of the thread.
34
+ */
35
+ input?: RunInput | null;
36
+ /**
37
+ * Metadata for the run.
38
+ */
39
+ metadata?: Metadata;
40
+ /**
41
+ * Additional configuration for the run.
42
+ */
43
+ config?: Config;
44
+ /**
45
+ * Static context to add to the assistant.
46
+ * @remarks Added in LangGraph.js 0.4
47
+ */
48
+ context?: unknown;
49
+ /**
50
+ * Checkpoint ID for when creating a new run.
51
+ */
52
+ checkpointId?: string;
53
+ /**
54
+ * Checkpoint for when creating a new run.
55
+ */
56
+ checkpoint?: Omit<Checkpoint, 'thread_id'>;
57
+ /**
58
+ * Whether to checkpoint during the run (or only at the end/interruption).
59
+ * @deprecated Use `durability` instead.
60
+ */
61
+ checkpointDuring?: boolean;
62
+ /**
63
+ * Whether to checkpoint during the run (or only at the end/interruption).
64
+ * - `"async"`: Save checkpoint asynchronously while the next step executes (default).
65
+ * - `"sync"`: Save checkpoint synchronously before the next step starts.
66
+ * - `"exit"`: Save checkpoint only when the graph exits.
67
+ * @default "async"
68
+ */
69
+ durability?: Durability;
70
+ /**
71
+ * Interrupt execution before entering these nodes.
72
+ */
73
+ interruptBefore?: '*' | string[];
74
+ /**
75
+ * Interrupt execution after leaving these nodes.
76
+ */
77
+ interruptAfter?: '*' | string[];
78
+ /**
79
+ * Strategy to handle concurrent runs on the same thread. Only relevant if
80
+ * there is a pending/inflight run on the same thread. One of:
81
+ * - "reject": Reject the new run.
82
+ * - "interrupt": Interrupt the current run, keeping steps completed until now,
83
+ and start a new one.
84
+ * - "rollback": Cancel and delete the existing run, rolling back the thread to
85
+ the state before it had started, then start the new run.
86
+ * - "enqueue": Queue up the new run to start after the current run finishes.
87
+ */
88
+ multitaskStrategy?: MultitaskStrategy;
89
+ /**
90
+ * Abort controller signal to cancel the run.
91
+ */
92
+ signal?: AbortController['signal'];
93
+ /**
94
+ * Behavior to handle run completion. Only relevant if
95
+ * there is a pending/inflight run on the same thread. One of:
96
+ * - "complete": Complete the run.
97
+ * - "continue": Continue the run.
98
+ */
99
+ onCompletion?: OnCompletionBehavior;
100
+ /**
101
+ * Webhook to call when the run is complete.
102
+ */
103
+ webhook?: string;
104
+ /**
105
+ * Behavior to handle disconnection. Only relevant if
106
+ * there is a pending/inflight run on the same thread. One of:
107
+ * - "cancel": Cancel the run.
108
+ * - "continue": Continue the run.
109
+ */
110
+ onDisconnect?: DisconnectMode;
111
+ /**
112
+ * The number of seconds to wait before starting the run.
113
+ * Use to schedule future runs.
114
+ */
115
+ afterSeconds?: number;
116
+ /**
117
+ * Behavior if the specified run doesn't exist. Defaults to "reject".
118
+ */
119
+ ifNotExists?: 'create' | 'reject';
120
+ /**
121
+ * One or more commands to invoke the graph with.
122
+ */
123
+ command?: Command;
124
+ /**
125
+ * Callback when a run is created.
126
+ */
127
+ onRunCreated?: (params: {
128
+ run_id: string;
129
+ thread_id?: string;
130
+ }) => void;
131
+ }
132
+ export interface RunsStreamPayload<TStreamMode extends StreamMode | StreamMode[] = [], TSubgraphs extends boolean = false> extends RunsInvokePayload {
133
+ /**
134
+ * One of `"values"`, `"messages"`, `"messages-tuple"`, `"updates"`, `"events"`, `"debug"`, `"custom"`.
135
+ */
136
+ streamMode?: TStreamMode;
137
+ /**
138
+ * Stream output from subgraphs. By default, streams only the top graph.
139
+ */
140
+ streamSubgraphs?: TSubgraphs;
141
+ /**
142
+ * Whether the stream is considered resumable.
143
+ * If true, the stream can be resumed and replayed in its entirety even after disconnection.
144
+ */
145
+ streamResumable?: boolean;
146
+ /**
147
+ * Pass one or more feedbackKeys if you want to request short-lived signed URLs
148
+ * for submitting feedback to LangSmith with this key for this run.
149
+ */
150
+ feedbackKeys?: string[];
151
+ }
152
+ export interface RunsCreatePayload extends RunsInvokePayload {
153
+ /**
154
+ * One of `"values"`, `"messages"`, `"messages-tuple"`, `"updates"`, `"events"`, `"debug"`, `"custom"`.
155
+ */
156
+ streamMode?: StreamMode | Array<StreamMode>;
157
+ /**
158
+ * Stream output from subgraphs. By default, streams only the top graph.
159
+ */
160
+ streamSubgraphs?: boolean;
161
+ /**
162
+ * Whether the stream is considered resumable.
163
+ * If true, the stream can be resumed and replayed in its entirety even after disconnection.
164
+ */
165
+ streamResumable?: boolean;
166
+ }
167
+ export interface CronsCreatePayload extends RunsCreatePayload {
168
+ /**
169
+ * Schedule for running the Cron Job
170
+ */
171
+ schedule: string;
172
+ }
173
+ export interface RunsWaitPayload extends RunsStreamPayload {
174
+ /**
175
+ * Raise errors returned by the run. Default is `true`.
176
+ */
177
+ raiseError?: boolean;
178
+ }
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ type ImageDetail = 'auto' | 'low' | 'high';
2
+ type MessageContentImageUrl = {
3
+ type: 'image_url';
4
+ image_url: string | {
5
+ url: string;
6
+ detail?: ImageDetail | undefined;
7
+ };
8
+ };
9
+ type MessageContentText = {
10
+ type: 'text';
11
+ text: string;
12
+ };
13
+ type MessageContentComplex = MessageContentText | MessageContentImageUrl;
14
+ type MessageContent = string | MessageContentComplex[];
15
+ /**
16
+ * Model-specific additional kwargs, which is passed back to the underlying LLM.
17
+ */
18
+ type MessageAdditionalKwargs = Record<string, unknown>;
19
+ type BaseMessage = {
20
+ additional_kwargs?: MessageAdditionalKwargs | undefined;
21
+ content: MessageContent;
22
+ id?: string | undefined;
23
+ name?: string | undefined;
24
+ response_metadata?: Record<string, unknown> | undefined;
25
+ };
26
+ export type HumanMessage = BaseMessage & {
27
+ type: 'human';
28
+ example?: boolean | undefined;
29
+ };
30
+ export type AIMessage = BaseMessage & {
31
+ type: 'ai';
32
+ example?: boolean | undefined;
33
+ tool_calls?: {
34
+ name: string;
35
+ args: {
36
+ [x: string]: any;
37
+ };
38
+ id?: string | undefined;
39
+ type?: 'tool_call' | undefined;
40
+ }[] | undefined;
41
+ invalid_tool_calls?: {
42
+ name?: string | undefined;
43
+ args?: string | undefined;
44
+ id?: string | undefined;
45
+ error?: string | undefined;
46
+ type?: 'invalid_tool_call' | undefined;
47
+ }[] | undefined;
48
+ usage_metadata?: {
49
+ input_tokens: number;
50
+ output_tokens: number;
51
+ total_tokens: number;
52
+ input_token_details?: {
53
+ audio?: number | undefined;
54
+ cache_read?: number | undefined;
55
+ cache_creation?: number | undefined;
56
+ } | undefined;
57
+ output_token_details?: {
58
+ audio?: number | undefined;
59
+ reasoning?: number | undefined;
60
+ } | undefined;
61
+ } | undefined;
62
+ };
63
+ export type ToolMessage = BaseMessage & {
64
+ type: 'tool';
65
+ status?: 'error' | 'success' | undefined;
66
+ tool_call_id: string;
67
+ /**
68
+ * Artifact of the Tool execution which is not meant to be sent to the model.
69
+ *
70
+ * Should only be specified if it is different from the message content, e.g. if only
71
+ * a subset of the full tool output is being passed as message content but the full
72
+ * output is needed in other parts of the code.
73
+ */
74
+ artifact?: any;
75
+ };
76
+ export type SystemMessage = BaseMessage & {
77
+ type: 'system';
78
+ };
79
+ export type FunctionMessage = BaseMessage & {
80
+ type: 'function';
81
+ };
82
+ export type RemoveMessage = BaseMessage & {
83
+ type: 'remove';
84
+ };
85
+ export type Message = HumanMessage | AIMessage | ToolMessage | SystemMessage | FunctionMessage | RemoveMessage;
86
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.messages.js","sourceRoot":"","sources":["../src/types.messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.messages.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.messages.mjs","sourceRoot":"","sources":["../src/types.messages.ts"],"names":[],"mappings":""}
package/dist/types.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,212 @@
1
+ import type { Message } from './types.messages.js';
2
+ import type { Interrupt, Metadata, Config, ThreadTask } from './schema.js';
3
+ /**
4
+ import type { SubgraphCheckpointsStreamEvent } from "./types.stream.subgraph.js";
5
+ * Stream modes
6
+ * - "values": Stream only the state values.
7
+ * - "messages": Stream complete messages.
8
+ * - "messages-tuple": Stream (message chunk, metadata) tuples.
9
+ * - "updates": Stream updates to the state.
10
+ * - "events": Stream events occurring during execution.
11
+ * - "debug": Stream detailed debug information.
12
+ * - "custom": Stream custom events.
13
+ */
14
+ export type StreamMode = 'values' | 'messages' | 'updates' | 'events' | 'debug' | 'tasks' | 'checkpoints' | 'custom' | 'messages-tuple';
15
+ export type ThreadStreamMode = 'run_modes' | 'lifecycle' | 'state_update';
16
+ type MessageTupleMetadata = {
17
+ tags: string[];
18
+ [key: string]: unknown;
19
+ };
20
+ type AsSubgraph<TEvent extends {
21
+ id?: string;
22
+ event: string;
23
+ data: unknown;
24
+ }> = {
25
+ id?: TEvent['id'];
26
+ event: TEvent['event'] | `${TEvent['event']}|${string}`;
27
+ data: TEvent['data'];
28
+ };
29
+ /**
30
+ * Stream event with values after completion of each step.
31
+ */
32
+ export type ValuesStreamEvent<StateType> = {
33
+ id?: string;
34
+ event: 'values';
35
+ data: StateType;
36
+ };
37
+ /**
38
+ * Stream event with message chunks coming from LLM invocations inside nodes.
39
+ */
40
+ export type MessagesTupleStreamEvent = {
41
+ event: 'messages';
42
+ data: [message: Message, config: MessageTupleMetadata];
43
+ };
44
+ /**
45
+ * Metadata stream event with information about the run and thread
46
+ */
47
+ export type MetadataStreamEvent = {
48
+ id?: string;
49
+ event: 'metadata';
50
+ data: {
51
+ run_id: string;
52
+ thread_id: string;
53
+ };
54
+ };
55
+ /**
56
+ * Stream event with error information.
57
+ */
58
+ export type ErrorStreamEvent = {
59
+ id?: string;
60
+ event: 'error';
61
+ data: {
62
+ error: string;
63
+ message: string;
64
+ };
65
+ };
66
+ /**
67
+ * Stream event with updates to the state after each step.
68
+ * The streamed outputs include the name of the node that
69
+ * produced the update as well as the update.
70
+ */
71
+ export type UpdatesStreamEvent<UpdateType> = {
72
+ id?: string;
73
+ event: 'updates';
74
+ data: {
75
+ [node: string]: UpdateType;
76
+ };
77
+ };
78
+ /**
79
+ * Streaming custom data from inside the nodes.
80
+ */
81
+ export type CustomStreamEvent<T> = {
82
+ event: 'custom';
83
+ data: T;
84
+ };
85
+ type MessagesMetadataStreamEvent = {
86
+ id?: string;
87
+ event: 'messages/metadata';
88
+ data: {
89
+ [messageId: string]: {
90
+ metadata: unknown;
91
+ };
92
+ };
93
+ };
94
+ type MessagesCompleteStreamEvent = {
95
+ id?: string;
96
+ event: 'messages/complete';
97
+ data: Message[];
98
+ };
99
+ type MessagesPartialStreamEvent = {
100
+ id?: string;
101
+ event: 'messages/partial';
102
+ data: Message[];
103
+ };
104
+ type TasksStreamCreateEvent<StateType> = {
105
+ id?: string;
106
+ event: 'tasks';
107
+ data: {
108
+ id: string;
109
+ name: string;
110
+ interrupts: Interrupt[];
111
+ input: StateType;
112
+ triggers: string[];
113
+ };
114
+ };
115
+ type TasksStreamResultEvent<UpdateType> = {
116
+ id?: string;
117
+ event: 'tasks';
118
+ data: {
119
+ id: string;
120
+ name: string;
121
+ interrupts: Interrupt[];
122
+ result: [string, UpdateType][];
123
+ };
124
+ };
125
+ type TasksStreamErrorEvent = {
126
+ id?: string;
127
+ event: 'tasks';
128
+ data: {
129
+ id: string;
130
+ name: string;
131
+ interrupts: Interrupt[];
132
+ error: string;
133
+ };
134
+ };
135
+ export type TasksStreamEvent<StateType, UpdateType> = TasksStreamCreateEvent<StateType> | TasksStreamResultEvent<UpdateType> | TasksStreamErrorEvent;
136
+ type SubgraphTasksStreamEvent<StateType, UpdateType> = AsSubgraph<TasksStreamCreateEvent<StateType>> | AsSubgraph<TasksStreamResultEvent<UpdateType>> | AsSubgraph<TasksStreamErrorEvent>;
137
+ export type CheckpointsStreamEvent<StateType> = {
138
+ id?: string;
139
+ event: 'checkpoints';
140
+ data: {
141
+ values: StateType;
142
+ next: string[];
143
+ config: Config;
144
+ metadata: Metadata;
145
+ tasks: ThreadTask[];
146
+ };
147
+ };
148
+ type SubgraphCheckpointsStreamEvent<StateType> = AsSubgraph<CheckpointsStreamEvent<StateType>>;
149
+ /**
150
+ * Message stream event specific to LangGraph Server.
151
+ * @deprecated Use `streamMode: "messages-tuple"` instead.
152
+ */
153
+ export type MessagesStreamEvent = MessagesMetadataStreamEvent | MessagesCompleteStreamEvent | MessagesPartialStreamEvent;
154
+ /**
155
+ * Stream event with detailed debug information.
156
+ */
157
+ export type DebugStreamEvent = {
158
+ id?: string;
159
+ event: 'debug';
160
+ data: unknown;
161
+ };
162
+ /**
163
+ * Stream event with events occurring during execution.
164
+ */
165
+ export type EventsStreamEvent = {
166
+ id?: string;
167
+ event: 'events';
168
+ data: {
169
+ event: `on_${'chat_model' | 'llm' | 'chain' | 'tool' | 'retriever' | 'prompt'}_${'start' | 'stream' | 'end'}` | (string & {});
170
+ name: string;
171
+ tags: string[];
172
+ run_id: string;
173
+ metadata: Record<string, unknown>;
174
+ parent_ids: string[];
175
+ data: unknown;
176
+ };
177
+ };
178
+ /**
179
+ * Stream event with a feedback key to signed URL map. Set `feedbackKeys` in
180
+ * the `RunsStreamPayload` to receive this event.
181
+ */
182
+ export type FeedbackStreamEvent = {
183
+ id?: string;
184
+ event: 'feedback';
185
+ data: {
186
+ [feedbackKey: string]: string;
187
+ };
188
+ };
189
+ type GetStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {
190
+ values: ValuesStreamEvent<TStateType>;
191
+ updates: UpdatesStreamEvent<TUpdateType>;
192
+ custom: CustomStreamEvent<TCustomType>;
193
+ debug: DebugStreamEvent;
194
+ messages: MessagesStreamEvent;
195
+ 'messages-tuple': MessagesTupleStreamEvent;
196
+ tasks: TasksStreamEvent<TStateType, TUpdateType>;
197
+ checkpoints: CheckpointsStreamEvent<TStateType>;
198
+ events: EventsStreamEvent;
199
+ }[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | ErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;
200
+ type GetSubgraphsStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {
201
+ values: SubgraphValuesStreamEvent<TStateType>;
202
+ updates: SubgraphUpdatesStreamEvent<TUpdateType>;
203
+ custom: SubgraphCustomStreamEvent<TCustomType>;
204
+ debug: SubgraphDebugStreamEvent;
205
+ messages: SubgraphMessagesStreamEvent;
206
+ 'messages-tuple': SubgraphMessagesTupleStreamEvent;
207
+ events: SubgraphEventsStreamEvent;
208
+ tasks: SubgraphTasksStreamEvent<TStateType, TUpdateType>;
209
+ checkpoints: SubgraphCheckpointsStreamEvent<TStateType>;
210
+ }[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | SubgraphErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;
211
+ export type TypedAsyncGenerator<TStreamMode extends StreamMode | StreamMode[] = [], TSubgraphs extends boolean = false, TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = AsyncGenerator<TSubgraphs extends true ? GetSubgraphsStreamModeMap<TStreamMode, TStateType, TUpdateType, TCustomType> : GetStreamModeMap<TStreamMode, TStateType, TUpdateType, TCustomType>>;
212
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.stream.js","sourceRoot":"","sources":["../src/types.stream.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.stream.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.stream.mjs","sourceRoot":"","sources":["../src/types.stream.ts"],"names":[],"mappings":""}