@langgraph-js/pure-graph 2.6.0 → 2.7.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 (32) hide show
  1. package/README.md +183 -15
  2. package/dist/adapter/fetch/assistants.d.ts +9 -0
  3. package/dist/adapter/fetch/context.d.ts +4 -0
  4. package/dist/adapter/fetch/index.d.ts +8 -0
  5. package/dist/adapter/fetch/runs.d.ts +21 -0
  6. package/dist/adapter/fetch/threads.d.ts +17 -0
  7. package/dist/adapter/fetch/utils.d.ts +44 -0
  8. package/dist/adapter/hono/index.js +7 -209
  9. package/dist/adapter/hono/index.js.map +1 -1
  10. package/dist/adapter/nextjs/index.js +2 -2
  11. package/dist/adapter/nextjs/router.d.ts +3 -3
  12. package/dist/{createEndpoint-BMYbyDjM.js → createEndpoint-BEEfOyPg.js} +2 -2
  13. package/dist/{createEndpoint-BMYbyDjM.js.map → createEndpoint-BEEfOyPg.js.map} +1 -1
  14. package/dist/index-B-gojNlM.js +557 -0
  15. package/dist/index-B-gojNlM.js.map +1 -0
  16. package/dist/index.js +2 -2
  17. package/dist/{queue-D1FBVnEa.js → queue-g6fOz7D5.js} +2 -2
  18. package/dist/{queue-D1FBVnEa.js.map → queue-g6fOz7D5.js.map} +1 -1
  19. package/dist/router-Dk7saRUW.js +30 -0
  20. package/dist/router-Dk7saRUW.js.map +1 -0
  21. package/dist/{stream-Bgw3QUMg.js → stream-Blquv56P.js} +3 -3
  22. package/dist/{stream-Bgw3QUMg.js.map → stream-Blquv56P.js.map} +1 -1
  23. package/package.json +1 -1
  24. package/dist/adapter/hono/assistants.d.ts +0 -3
  25. package/dist/adapter/hono/runs.d.ts +0 -6
  26. package/dist/adapter/hono/threads.d.ts +0 -3
  27. package/dist/adapter/nextjs/endpoint.d.ts +0 -35
  28. package/dist/router-BfL7mrw7.js +0 -218
  29. package/dist/router-BfL7mrw7.js.map +0 -1
  30. package/dist/zod-B6xyK6pu.js +0 -112
  31. package/dist/zod-B6xyK6pu.js.map +0 -1
  32. /package/dist/adapter/{hono → fetch}/endpoint.d.ts +0 -0
@@ -1,218 +0,0 @@
1
- import { NextResponse } from 'next/server';
2
- import { c as createEndpoint } from './createEndpoint-BMYbyDjM.js';
3
- import { a as AssistantGraphQuerySchema, d as RunListQuerySchema, c as RunJoinStreamQuerySchema, A as AssistantsSearchSchema, g as ThreadCreatePayloadSchema, h as ThreadSearchPayloadSchema, f as ThreadStateUpdate, R as RunStreamPayloadSchema, e as RunCancelQuerySchema } from './zod-B6xyK6pu.js';
4
- import { s as serialiseAsDict } from './stream-Bgw3QUMg.js';
5
- import camelcaseKeys from 'camelcase-keys';
6
-
7
- const client = createEndpoint();
8
-
9
- async function sseResponse(generator) {
10
- const encoder = new TextEncoder();
11
- const stream = new ReadableStream({
12
- async start(controller) {
13
- try {
14
- for await (const { event, data } of generator) {
15
- const line = `event: ${event}
16
- data: ${serialiseAsDict(data, 0)}
17
-
18
- `;
19
- controller.enqueue(encoder.encode(line));
20
- }
21
- } catch (err) {
22
- } finally {
23
- controller.close();
24
- }
25
- }
26
- });
27
- return new Response(stream, {
28
- headers: {
29
- "Content-Type": "text/event-stream; charset=utf-8",
30
- "Cache-Control": "no-cache, no-transform",
31
- Connection: "keep-alive"
32
- }
33
- });
34
- }
35
- async function GET(req) {
36
- const url = new URL(req.url);
37
- const pathname = url.pathname;
38
- if (pathname.match(/\/assistants\/[^/]+\/graph$/)) {
39
- const match = pathname.match(/\/assistants\/([^/]+)\/graph$/);
40
- if (match) {
41
- const assistant_id = match[1];
42
- const xrayParam = url.searchParams.get("xray") ?? void 0;
43
- const queryParams = { xray: xrayParam };
44
- const { xray } = AssistantGraphQuerySchema.parse(queryParams);
45
- const data = await client.assistants.getGraph(assistant_id, {
46
- xray: xray !== void 0 ? xray === "true" : void 0
47
- });
48
- return NextResponse.json(data);
49
- }
50
- }
51
- if (pathname.match(/\/threads\/[0-9a-fA-F-]{36}$/)) {
52
- const match = pathname.match(/\/threads\/([0-9a-fA-F-]{36})$/);
53
- if (match) {
54
- const thread_id = match[1];
55
- const data = await client.threads.get(thread_id);
56
- return NextResponse.json(data);
57
- }
58
- }
59
- if (pathname.match(/\/threads\/[0-9a-fA-F-]{36}\/runs$/)) {
60
- const match = pathname.match(/\/threads\/([0-9a-fA-F-]{36})\/runs$/);
61
- if (match) {
62
- const thread_id = match[1];
63
- const limit = url.searchParams.get("limit") ?? void 0;
64
- const offset = url.searchParams.get("offset") ?? void 0;
65
- const status = url.searchParams.get("status") ?? void 0;
66
- const queryParams = { limit, offset, status };
67
- const {
68
- limit: parsedLimit,
69
- offset: parsedOffset,
70
- status: parsedStatus
71
- } = RunListQuerySchema.parse(queryParams);
72
- const runs = await client.runs.list(thread_id, {
73
- limit: parsedLimit,
74
- offset: parsedOffset,
75
- status: parsedStatus
76
- });
77
- return Response.json(runs);
78
- }
79
- }
80
- if (pathname.match(/\/threads\/[0-9a-fA-F-]{36}\/runs\/[0-9a-fA-F-]{36}\/stream$/)) {
81
- const match = pathname.match(/\/threads\/([0-9a-fA-F-]{36})\/runs\/([0-9a-fA-F-]{36})\/stream$/);
82
- if (match) {
83
- const thread_id = match[1];
84
- const run_id = match[2];
85
- const cancel_on_disconnect = url.searchParams.get("cancel_on_disconnect") ?? void 0;
86
- const last_event_id = url.searchParams.get("last_event_id") ?? void 0;
87
- const stream_mode = url.searchParams.get("stream_mode") ?? void 0;
88
- const queryParams = {
89
- cancel_on_disconnect: cancel_on_disconnect ? cancel_on_disconnect === "true" : false,
90
- last_event_id,
91
- stream_mode
92
- };
93
- const {
94
- cancel_on_disconnect: parsedCancelOnDisconnect,
95
- last_event_id: parsedLastEventId,
96
- stream_mode: parsedStreamMode
97
- } = RunJoinStreamQuerySchema.parse(queryParams);
98
- const controller = new AbortController();
99
- if (parsedCancelOnDisconnect && req.signal) {
100
- req.signal.addEventListener("abort", () => {
101
- controller.abort("Client disconnected");
102
- });
103
- }
104
- async function* joinStreamGenerator() {
105
- try {
106
- for await (const { event, data, id } of client.runs.joinStream(thread_id, run_id, {
107
- signal: controller.signal,
108
- cancelOnDisconnect: parsedCancelOnDisconnect,
109
- lastEventId: parsedLastEventId,
110
- streamMode: parsedStreamMode ? [parsedStreamMode] : void 0
111
- })) {
112
- yield { event, data, id };
113
- }
114
- } catch (error) {
115
- console.error("Join stream error:", error);
116
- }
117
- }
118
- return sseResponse(joinStreamGenerator());
119
- }
120
- }
121
- return new NextResponse("Not Found", { status: 404 });
122
- }
123
- async function POST(req) {
124
- const url = new URL(req.url);
125
- const pathname = url.pathname;
126
- if (pathname.endsWith("/assistants/search")) {
127
- const body = await req.json();
128
- const payload = AssistantsSearchSchema.parse(body);
129
- const data = await client.assistants.search({
130
- graphId: payload.graph_id,
131
- metadata: payload.metadata,
132
- limit: payload.limit,
133
- offset: payload.offset
134
- });
135
- return NextResponse.json(data, {
136
- headers: { "X-Pagination-Total": String(data.length) }
137
- });
138
- }
139
- if (pathname.endsWith("/threads")) {
140
- const body = await req.json();
141
- const payload = ThreadCreatePayloadSchema.parse(body);
142
- const thread = await client.threads.create(camelcaseKeys(payload));
143
- return NextResponse.json(thread);
144
- }
145
- if (pathname.endsWith("/threads/search")) {
146
- const body = await req.json();
147
- const payload = ThreadSearchPayloadSchema.parse(body);
148
- const result = await client.threads.search(camelcaseKeys(payload));
149
- return NextResponse.json(result, {
150
- headers: { "X-Pagination-Total": String(result.length) }
151
- });
152
- }
153
- if (pathname.match(/\/threads\/[0-9a-fA-F-]{36}\/state$/)) {
154
- const match = pathname.match(/\/threads\/([0-9a-fA-F-]{36})\/state$/);
155
- if (match) {
156
- const thread_id = match[1];
157
- const body = await req.json();
158
- const payload = ThreadStateUpdate.parse(body);
159
- const result = await client.threads.updateState(thread_id, camelcaseKeys(payload));
160
- return NextResponse.json(result);
161
- }
162
- }
163
- if (pathname.match(/\/threads\/[0-9a-fA-F-]{36}\/runs\/stream$/)) {
164
- const match = pathname.match(/\/threads\/([0-9a-fA-F-]{36})\/runs\/stream$/);
165
- if (match) {
166
- const thread_id = match[1];
167
- const body = await req.json();
168
- const payload = RunStreamPayloadSchema.parse(body);
169
- const langgraphContextHeader = req.headers.get("x-langgraph-context");
170
- if (langgraphContextHeader) {
171
- const langgraphContext = JSON.parse(decodeURIComponent(langgraphContextHeader));
172
- payload.config = payload.config || {};
173
- payload.config.configurable = payload.config.configurable || {};
174
- Object.assign(payload.config.configurable, langgraphContext);
175
- }
176
- const generator = client.runs.stream(
177
- thread_id,
178
- payload.assistant_id,
179
- camelcaseKeys(payload)
180
- );
181
- return sseResponse(generator);
182
- }
183
- }
184
- if (pathname.match(/\/threads\/[0-9a-fA-F-]{36}\/runs\/[0-9a-fA-F-]{36}\/cancel$/)) {
185
- const match = pathname.match(/\/threads\/([0-9a-fA-F-]{36})\/runs\/([0-9a-fA-F-]{36})\/cancel$/);
186
- if (match) {
187
- const thread_id = match[1];
188
- const run_id = match[2];
189
- const waitParam = url.searchParams.get("wait") ?? void 0;
190
- const actionParam = url.searchParams.get("action") ?? void 0;
191
- const queryParams = {
192
- wait: waitParam ? waitParam === "true" : false,
193
- action: actionParam ?? "interrupt"
194
- };
195
- const { wait, action } = RunCancelQuerySchema.parse(queryParams);
196
- const promise = client.runs.cancel(thread_id, run_id, wait, action);
197
- if (wait) await promise;
198
- return new Response(null, { status: wait ? 204 : 202 });
199
- }
200
- }
201
- return new NextResponse("Not Found", { status: 404 });
202
- }
203
- async function DELETE(req) {
204
- const url = new URL(req.url);
205
- const pathname = url.pathname;
206
- if (pathname.match(/\/threads\/[0-9a-fA-F-]{36}$/)) {
207
- const match = pathname.match(/\/threads\/([0-9a-fA-F-]{36})$/);
208
- if (match) {
209
- const thread_id = match[1];
210
- await client.threads.delete(thread_id);
211
- return new NextResponse(null, { status: 204 });
212
- }
213
- }
214
- return new NextResponse("Not Found", { status: 404 });
215
- }
216
-
217
- export { DELETE, GET, POST };
218
- //# sourceMappingURL=router-BfL7mrw7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router-BfL7mrw7.js","sources":["../src/adapter/nextjs/endpoint.ts","../src/adapter/nextjs/router.ts"],"sourcesContent":["import { createEndpoint } from '../../createEndpoint.js';\nexport const client = createEndpoint();\n","/** @ts-ignore */\nimport { NextRequest, NextResponse } from 'next/server';\nimport { client } from './endpoint';\nimport {\n AssistantsSearchSchema,\n AssistantGraphQuerySchema,\n RunStreamPayloadSchema,\n RunListQuerySchema,\n RunCancelQuerySchema,\n RunJoinStreamQuerySchema,\n ThreadCreatePayloadSchema,\n ThreadSearchPayloadSchema,\n ThreadStateUpdate,\n} from '../zod';\nimport { serialiseAsDict } from '../../graph/stream';\nimport camelcaseKeys from 'camelcase-keys';\n\n// Next.js App Router 的 SSE 响应实现\nasync function sseResponse(generator: AsyncGenerator<{ event: string; data: unknown }>): Promise<Response> {\n const encoder = new TextEncoder();\n const stream = new ReadableStream({\n async start(controller) {\n try {\n for await (const { event, data } of generator) {\n const line = `event: ${event}\\n` + `data: ${serialiseAsDict(data, 0)}\\n\\n`;\n controller.enqueue(encoder.encode(line));\n }\n } catch (err) {\n // ignore\n } finally {\n controller.close();\n }\n },\n });\n return new Response(stream, {\n headers: {\n 'Content-Type': 'text/event-stream; charset=utf-8',\n 'Cache-Control': 'no-cache, no-transform',\n Connection: 'keep-alive',\n },\n });\n}\n\n// 统一路由处理器\nexport async function GET(req: NextRequest) {\n const url = new URL(req.url);\n const pathname = url.pathname;\n\n // Assistants routes\n if (pathname.match(/\\/assistants\\/[^/]+\\/graph$/)) {\n const match = pathname.match(/\\/assistants\\/([^/]+)\\/graph$/);\n if (match) {\n const assistant_id = match[1];\n const xrayParam = url.searchParams.get('xray') ?? undefined;\n const queryParams = { xray: xrayParam };\n const { xray } = AssistantGraphQuerySchema.parse(queryParams);\n const data = await client.assistants.getGraph(assistant_id, {\n xray: xray !== undefined ? xray === 'true' : undefined,\n });\n return NextResponse.json(data);\n }\n }\n\n // Threads routes\n if (pathname.match(/\\/threads\\/[0-9a-fA-F-]{36}$/)) {\n const match = pathname.match(/\\/threads\\/([0-9a-fA-F-]{36})$/);\n if (match) {\n const thread_id = match[1];\n const data = await client.threads.get(thread_id);\n return NextResponse.json(data);\n }\n }\n\n // Runs routes\n if (pathname.match(/\\/threads\\/[0-9a-fA-F-]{36}\\/runs$/)) {\n const match = pathname.match(/\\/threads\\/([0-9a-fA-F-]{36})\\/runs$/);\n if (match) {\n const thread_id = match[1];\n const limit = url.searchParams.get('limit') ?? undefined;\n const offset = url.searchParams.get('offset') ?? undefined;\n const status = url.searchParams.get('status') ?? undefined;\n const queryParams = { limit, offset, status };\n const {\n limit: parsedLimit,\n offset: parsedOffset,\n status: parsedStatus,\n } = RunListQuerySchema.parse(queryParams);\n const runs = await client.runs.list(thread_id, {\n limit: parsedLimit,\n offset: parsedOffset,\n status: parsedStatus,\n });\n return Response.json(runs);\n }\n }\n\n // Runs join stream route\n if (pathname.match(/\\/threads\\/[0-9a-fA-F-]{36}\\/runs\\/[0-9a-fA-F-]{36}\\/stream$/)) {\n const match = pathname.match(/\\/threads\\/([0-9a-fA-F-]{36})\\/runs\\/([0-9a-fA-F-]{36})\\/stream$/);\n if (match) {\n const thread_id = match[1];\n const run_id = match[2];\n\n // 解析查询参数\n const cancel_on_disconnect = url.searchParams.get('cancel_on_disconnect') ?? undefined;\n const last_event_id = url.searchParams.get('last_event_id') ?? undefined;\n const stream_mode = url.searchParams.get('stream_mode') ?? undefined;\n\n const queryParams = {\n cancel_on_disconnect: cancel_on_disconnect ? cancel_on_disconnect === 'true' : false,\n last_event_id,\n stream_mode,\n };\n const {\n cancel_on_disconnect: parsedCancelOnDisconnect,\n last_event_id: parsedLastEventId,\n stream_mode: parsedStreamMode,\n } = RunJoinStreamQuerySchema.parse(queryParams);\n\n // 创建 AbortController 用于处理取消信号\n const controller = new AbortController();\n\n // 如果需要断开连接时取消,则监听请求信号\n if (parsedCancelOnDisconnect && req.signal) {\n req.signal.addEventListener('abort', () => {\n controller.abort('Client disconnected');\n });\n }\n\n // 创建带 ID 的生成器\n async function* joinStreamGenerator() {\n try {\n for await (const { event, data, id } of client.runs.joinStream(thread_id, run_id, {\n signal: controller.signal,\n cancelOnDisconnect: parsedCancelOnDisconnect,\n lastEventId: parsedLastEventId,\n streamMode: parsedStreamMode ? [parsedStreamMode] : undefined,\n })) {\n yield { event: event as unknown as string, data, id };\n }\n } catch (error) {\n // 记录错误但不抛出,避免中断流\n console.error('Join stream error:', error);\n }\n }\n\n return sseResponse(joinStreamGenerator());\n }\n }\n\n return new NextResponse('Not Found', { status: 404 });\n}\n\nexport async function POST(req: NextRequest) {\n const url = new URL(req.url);\n const pathname = url.pathname;\n\n // Assistants routes\n if (pathname.endsWith('/assistants/search')) {\n const body = await req.json();\n const payload = AssistantsSearchSchema.parse(body);\n const data = await client.assistants.search({\n graphId: payload.graph_id,\n metadata: payload.metadata,\n limit: payload.limit,\n offset: payload.offset,\n });\n return NextResponse.json(data, {\n headers: { 'X-Pagination-Total': String(data.length) },\n });\n }\n\n // Threads routes\n if (pathname.endsWith('/threads')) {\n const body = await req.json();\n const payload = ThreadCreatePayloadSchema.parse(body);\n const thread = await client.threads.create(camelcaseKeys(payload));\n return NextResponse.json(thread);\n }\n\n if (pathname.endsWith('/threads/search')) {\n const body = await req.json();\n const payload = ThreadSearchPayloadSchema.parse(body);\n const result = await client.threads.search(camelcaseKeys(payload));\n return NextResponse.json(result, {\n headers: { 'X-Pagination-Total': String(result.length) },\n });\n }\n\n // Threads state update\n if (pathname.match(/\\/threads\\/[0-9a-fA-F-]{36}\\/state$/)) {\n const match = pathname.match(/\\/threads\\/([0-9a-fA-F-]{36})\\/state$/);\n if (match) {\n const thread_id = match[1];\n const body = await req.json();\n const payload = ThreadStateUpdate.parse(body);\n const result = await client.threads.updateState(thread_id, camelcaseKeys(payload));\n return NextResponse.json(result);\n }\n }\n\n // Runs routes - stream\n if (pathname.match(/\\/threads\\/[0-9a-fA-F-]{36}\\/runs\\/stream$/)) {\n const match = pathname.match(/\\/threads\\/([0-9a-fA-F-]{36})\\/runs\\/stream$/);\n if (match) {\n const thread_id = match[1];\n const body = await req.json();\n const payload = RunStreamPayloadSchema.parse(body);\n\n // Extract custom context from request headers\n const langgraphContextHeader = req.headers.get('x-langgraph-context');\n if (langgraphContextHeader) {\n const langgraphContext = JSON.parse(decodeURIComponent(langgraphContextHeader));\n payload.config = payload.config || {};\n payload.config.configurable = payload.config.configurable || {};\n Object.assign(payload.config.configurable, langgraphContext);\n }\n const generator = client.runs.stream(\n thread_id,\n payload.assistant_id as string,\n camelcaseKeys(payload) as any,\n );\n return sseResponse(generator as any);\n }\n }\n\n // Runs routes - cancel\n if (pathname.match(/\\/threads\\/[0-9a-fA-F-]{36}\\/runs\\/[0-9a-fA-F-]{36}\\/cancel$/)) {\n const match = pathname.match(/\\/threads\\/([0-9a-fA-F-]{36})\\/runs\\/([0-9a-fA-F-]{36})\\/cancel$/);\n if (match) {\n const thread_id = match[1];\n const run_id = match[2];\n const waitParam = url.searchParams.get('wait') ?? undefined;\n const actionParam = url.searchParams.get('action') ?? undefined;\n const queryParams = {\n wait: waitParam ? waitParam === 'true' : false,\n action: actionParam ?? 'interrupt',\n };\n const { wait, action } = RunCancelQuerySchema.parse(queryParams);\n const promise = client.runs.cancel(thread_id, run_id, wait, action);\n if (wait) await promise;\n return new Response(null, { status: wait ? 204 : 202 });\n }\n }\n\n return new NextResponse('Not Found', { status: 404 });\n}\n\nexport async function DELETE(req: NextRequest) {\n const url = new URL(req.url);\n const pathname = url.pathname;\n\n // Threads routes\n if (pathname.match(/\\/threads\\/[0-9a-fA-F-]{36}$/)) {\n const match = pathname.match(/\\/threads\\/([0-9a-fA-F-]{36})$/);\n if (match) {\n const thread_id = match[1];\n await client.threads.delete(thread_id);\n return new NextResponse(null, { status: 204 });\n }\n }\n\n return new NextResponse('Not Found', { status: 404 });\n}\n"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- import z from 'zod';
2
-
3
- const AssistantConfigurable = z.object({
4
- thread_id: z.string().optional(),
5
- thread_ts: z.string().optional()
6
- }).catchall(z.unknown());
7
- const AssistantConfig = z.object({
8
- tags: z.array(z.string()).optional(),
9
- recursion_limit: z.number().int().optional(),
10
- configurable: AssistantConfigurable.optional()
11
- }).catchall(z.unknown()).describe("The configuration of an assistant.");
12
- z.object({
13
- assistant_id: z.string().uuid(),
14
- graph_id: z.string(),
15
- config: AssistantConfig,
16
- created_at: z.string(),
17
- updated_at: z.string(),
18
- metadata: z.object({}).catchall(z.any())
19
- });
20
- const MetadataSchema = z.object({
21
- source: z.union([z.literal("input"), z.literal("loop"), z.literal("update"), z.string()]).optional(),
22
- step: z.number().optional(),
23
- writes: z.any().nullable().optional(),
24
- parents: z.any().optional()
25
- }).catchall(z.unknown());
26
- const SendSchema = z.object({
27
- node: z.string(),
28
- input: z.unknown().optional()
29
- });
30
- const CommandSchema = z.object({
31
- update: z.union([z.any(), z.array(z.tuple([z.string(), z.any()]))]).nullable().optional(),
32
- resume: z.unknown().optional(),
33
- goto: z.union([SendSchema, z.array(SendSchema), z.string(), z.array(z.string())]).optional()
34
- });
35
- z.object({
36
- limit: z.number().int().optional(),
37
- offset: z.number().int().optional()
38
- });
39
- const ThreadIdParamSchema = z.object({
40
- thread_id: z.string().uuid()
41
- });
42
- const RunIdParamSchema = z.object({
43
- thread_id: z.string().uuid(),
44
- run_id: z.string().uuid()
45
- });
46
- const AssistantsSearchSchema = z.object({
47
- graph_id: z.string().optional(),
48
- metadata: MetadataSchema.optional(),
49
- limit: z.number().int().optional(),
50
- offset: z.number().int().optional()
51
- });
52
- const AssistantGraphQuerySchema = z.object({
53
- xray: z.string().optional()
54
- });
55
- const RunStreamPayloadSchema = z.object({
56
- assistant_id: z.union([z.string().uuid(), z.string()]),
57
- checkpoint_id: z.string().optional(),
58
- input: z.any().optional(),
59
- command: CommandSchema.optional(),
60
- metadata: MetadataSchema.optional(),
61
- config: AssistantConfig.optional(),
62
- webhook: z.string().optional(),
63
- interrupt_before: z.union([z.literal("*"), z.array(z.string())]).optional(),
64
- interrupt_after: z.union([z.literal("*"), z.array(z.string())]).optional(),
65
- on_disconnect: z.enum(["cancel", "continue"]).optional().default("continue"),
66
- multitask_strategy: z.enum(["reject", "rollback", "interrupt", "enqueue"]).optional(),
67
- stream_mode: z.array(z.enum(["values", "messages", "messages-tuple", "updates", "events", "debug", "custom"])).optional(),
68
- stream_subgraphs: z.boolean().optional(),
69
- stream_resumable: z.boolean().optional(),
70
- after_seconds: z.number().optional(),
71
- if_not_exists: z.enum(["create", "reject"]).optional(),
72
- on_completion: z.enum(["complete", "continue"]).optional(),
73
- feedback_keys: z.array(z.string()).optional(),
74
- langsmith_tracer: z.unknown().optional()
75
- }).describe("Payload for creating a stateful run.");
76
- const RunListQuerySchema = z.object({
77
- limit: z.coerce.number().int().optional(),
78
- offset: z.coerce.number().int().optional(),
79
- status: z.enum(["pending", "running", "error", "success", "timeout", "interrupted"]).optional()
80
- });
81
- const RunCancelQuerySchema = z.object({
82
- wait: z.coerce.boolean().optional().default(false),
83
- action: z.enum(["interrupt", "rollback"]).optional().default("interrupt")
84
- });
85
- const RunJoinStreamQuerySchema = z.object({
86
- cancel_on_disconnect: z.coerce.boolean().optional().default(false),
87
- last_event_id: z.string().optional(),
88
- stream_mode: z.enum(["values", "messages", "messages-tuple", "updates", "events", "debug", "custom"]).optional()
89
- });
90
- const ThreadCreatePayloadSchema = z.object({
91
- thread_id: z.string().uuid().describe("The ID of the thread. If not provided, an ID is generated.").optional(),
92
- metadata: MetadataSchema.optional(),
93
- if_exists: z.union([z.literal("raise"), z.literal("do_nothing")]).optional()
94
- }).describe("Payload for creating a thread.");
95
- const ThreadSearchPayloadSchema = z.object({
96
- metadata: MetadataSchema.describe("Metadata to search for.").optional(),
97
- status: z.enum(["idle", "busy", "interrupted", "error"]).describe("Filter by thread status.").optional(),
98
- values: z.any().describe("Filter by thread values.").optional(),
99
- limit: z.number().int().gte(1).lte(1e3).describe("Maximum number to return.").optional(),
100
- offset: z.number().int().gte(0).describe("Offset to start from.").optional(),
101
- sort_by: z.enum(["thread_id", "status", "created_at", "updated_at"]).describe("Sort by field.").optional(),
102
- sort_order: z.enum(["asc", "desc"]).describe("Sort order.").optional()
103
- }).describe("Payload for listing threads.");
104
- const ThreadStateUpdate = z.object({
105
- values: z.union([z.record(z.string(), z.unknown()), z.array(z.record(z.string(), z.unknown()))]).nullish()
106
- // as_node: z.string().optional(),
107
- // checkpoint_id: z.string().optional(),
108
- // checkpoint: CheckpointSchema.nullish(),
109
- }).describe("Payload for adding state to a thread.");
110
-
111
- export { AssistantsSearchSchema as A, RunStreamPayloadSchema as R, ThreadIdParamSchema as T, AssistantGraphQuerySchema as a, RunIdParamSchema as b, RunJoinStreamQuerySchema as c, RunListQuerySchema as d, RunCancelQuerySchema as e, ThreadStateUpdate as f, ThreadCreatePayloadSchema as g, ThreadSearchPayloadSchema as h };
112
- //# sourceMappingURL=zod-B6xyK6pu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zod-B6xyK6pu.js","sources":["../src/adapter/zod.ts"],"sourcesContent":["import z from 'zod';\n\nexport const AssistantConfigurable = z\n .object({\n thread_id: z.string().optional(),\n thread_ts: z.string().optional(),\n })\n .catchall(z.unknown());\n\nexport const AssistantConfig = z\n .object({\n tags: z.array(z.string()).optional(),\n recursion_limit: z.number().int().optional(),\n configurable: AssistantConfigurable.optional(),\n })\n .catchall(z.unknown())\n .describe('The configuration of an assistant.');\n\nexport const Assistant = z.object({\n assistant_id: z.string().uuid(),\n graph_id: z.string(),\n config: AssistantConfig,\n created_at: z.string(),\n updated_at: z.string(),\n metadata: z.object({}).catchall(z.any()),\n});\n\nexport const MetadataSchema = z\n .object({\n source: z.union([z.literal('input'), z.literal('loop'), z.literal('update'), z.string()]).optional(),\n step: z.number().optional(),\n writes: z.any().nullable().optional(),\n parents: z.any().optional(),\n })\n .catchall(z.unknown());\n\nexport const SendSchema = z.object({\n node: z.string(),\n input: z.unknown().optional(),\n});\n\nexport const CommandSchema = z.object({\n update: z\n .union([z.any(), z.array(z.tuple([z.string(), z.any()]))])\n .nullable()\n .optional(),\n resume: z.unknown().optional(),\n goto: z.union([SendSchema, z.array(SendSchema), z.string(), z.array(z.string())]).optional(),\n});\n\n// 公共的查询参数验证 schema\nexport const PaginationQuerySchema = z.object({\n limit: z.number().int().optional(),\n offset: z.number().int().optional(),\n});\n\nexport const ThreadIdParamSchema = z.object({\n thread_id: z.string().uuid(),\n});\n\nexport const RunIdParamSchema = z.object({\n thread_id: z.string().uuid(),\n run_id: z.string().uuid(),\n});\n\n// Assistants 相关的 schema\nexport const AssistantsSearchSchema = z.object({\n graph_id: z.string().optional(),\n metadata: MetadataSchema.optional(),\n limit: z.number().int().optional(),\n offset: z.number().int().optional(),\n});\n\nexport const AssistantGraphQuerySchema = z.object({\n xray: z.string().optional(),\n});\n\n// Runs 相关的 schema\nexport const RunStreamPayloadSchema = z\n .object({\n assistant_id: z.union([z.string().uuid(), z.string()]),\n checkpoint_id: z.string().optional(),\n input: z.any().optional(),\n command: CommandSchema.optional(),\n metadata: MetadataSchema.optional(),\n config: AssistantConfig.optional(),\n webhook: z.string().optional(),\n interrupt_before: z.union([z.literal('*'), z.array(z.string())]).optional(),\n interrupt_after: z.union([z.literal('*'), z.array(z.string())]).optional(),\n on_disconnect: z.enum(['cancel', 'continue']).optional().default('continue'),\n multitask_strategy: z.enum(['reject', 'rollback', 'interrupt', 'enqueue']).optional(),\n stream_mode: z\n .array(z.enum(['values', 'messages', 'messages-tuple', 'updates', 'events', 'debug', 'custom']))\n .optional(),\n stream_subgraphs: z.boolean().optional(),\n stream_resumable: z.boolean().optional(),\n after_seconds: z.number().optional(),\n if_not_exists: z.enum(['create', 'reject']).optional(),\n on_completion: z.enum(['complete', 'continue']).optional(),\n feedback_keys: z.array(z.string()).optional(),\n langsmith_tracer: z.unknown().optional(),\n })\n .describe('Payload for creating a stateful run.');\n\nexport const RunListQuerySchema = z.object({\n limit: z.coerce.number().int().optional(),\n offset: z.coerce.number().int().optional(),\n status: z.enum(['pending', 'running', 'error', 'success', 'timeout', 'interrupted']).optional(),\n});\n\nexport const RunCancelQuerySchema = z.object({\n wait: z.coerce.boolean().optional().default(false),\n action: z.enum(['interrupt', 'rollback']).optional().default('interrupt'),\n});\n\nexport const RunJoinStreamQuerySchema = z.object({\n cancel_on_disconnect: z.coerce.boolean().optional().default(false),\n last_event_id: z.string().optional(),\n stream_mode: z.enum(['values', 'messages', 'messages-tuple', 'updates', 'events', 'debug', 'custom']).optional(),\n});\n\n// Threads 相关的 schema\nexport const ThreadCreatePayloadSchema = z\n .object({\n thread_id: z.string().uuid().describe('The ID of the thread. If not provided, an ID is generated.').optional(),\n metadata: MetadataSchema.optional(),\n if_exists: z.union([z.literal('raise'), z.literal('do_nothing')]).optional(),\n })\n .describe('Payload for creating a thread.');\n\nexport const ThreadSearchPayloadSchema = z\n .object({\n metadata: MetadataSchema.describe('Metadata to search for.').optional(),\n status: z.enum(['idle', 'busy', 'interrupted', 'error']).describe('Filter by thread status.').optional(),\n values: z.any().describe('Filter by thread values.').optional(),\n limit: z.number().int().gte(1).lte(1000).describe('Maximum number to return.').optional(),\n offset: z.number().int().gte(0).describe('Offset to start from.').optional(),\n sort_by: z.enum(['thread_id', 'status', 'created_at', 'updated_at']).describe('Sort by field.').optional(),\n sort_order: z.enum(['asc', 'desc']).describe('Sort order.').optional(),\n })\n .describe('Payload for listing threads.');\n\nexport const ThreadStateUpdate = z\n .object({\n values: z.union([z.record(z.string(), z.unknown()), z.array(z.record(z.string(), z.unknown()))]).nullish(),\n // as_node: z.string().optional(),\n // checkpoint_id: z.string().optional(),\n // checkpoint: CheckpointSchema.nullish(),\n })\n .describe('Payload for adding state to a thread.');\n"],"names":[],"mappings":"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"}
File without changes