@langgraph-js/pure-graph 2.1.6 → 2.2.8

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 (34) hide show
  1. package/README.md +3 -2
  2. package/dist/adapter/hono/index.js +2 -4
  3. package/dist/adapter/hono/index.js.map +1 -1
  4. package/dist/adapter/nextjs/index.js +2 -2
  5. package/dist/adapter/zod.d.ts +2 -2
  6. package/dist/checkpoint-DnfHhpJw.js +1418 -0
  7. package/dist/checkpoint-DnfHhpJw.js.map +1 -0
  8. package/dist/{createEndpoint-C-7CCNeN.js → createEndpoint-DHnODS67.js} +2 -2
  9. package/dist/{createEndpoint-C-7CCNeN.js.map → createEndpoint-DHnODS67.js.map} +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/pg-adapter-BFtir1GE.js +67 -0
  12. package/dist/pg-adapter-BFtir1GE.js.map +1 -0
  13. package/dist/{queue-CVAmN8_S.js → queue-CwCW8m0q.js} +8 -4
  14. package/dist/queue-CwCW8m0q.js.map +1 -0
  15. package/dist/{router-DgmIokTx.js → router-AADuUgGy.js} +3 -3
  16. package/dist/{router-DgmIokTx.js.map → router-AADuUgGy.js.map} +1 -1
  17. package/dist/sqlite-adapter-BNYk10Gl.js +76 -0
  18. package/dist/sqlite-adapter-BNYk10Gl.js.map +1 -0
  19. package/dist/storage/index.d.ts +2 -3
  20. package/dist/storage/kysely/adapter.d.ts +44 -0
  21. package/dist/storage/kysely/index.d.ts +9 -0
  22. package/dist/storage/kysely/pg-adapter.d.ts +23 -0
  23. package/dist/storage/kysely/sqlite-adapter.d.ts +22 -0
  24. package/dist/storage/{sqlite → kysely}/threads.d.ts +9 -6
  25. package/dist/storage/kysely/types.d.ts +27 -0
  26. package/dist/{stream-BwdFJfJb.js → stream-SJdqjfOM.js} +232 -602
  27. package/dist/stream-SJdqjfOM.js.map +1 -0
  28. package/package.json +2 -2
  29. package/dist/checkpoint-DYSXoBLt.js +0 -390
  30. package/dist/checkpoint-DYSXoBLt.js.map +0 -1
  31. package/dist/queue-CVAmN8_S.js.map +0 -1
  32. package/dist/storage/pg/threads.d.ts +0 -44
  33. package/dist/storage/sqlite/DB.d.ts +0 -3
  34. package/dist/stream-BwdFJfJb.js.map +0 -1
package/README.md CHANGED
@@ -126,13 +126,14 @@ To integrate Pure Graph into a Hono.js project, follow these steps:
126
126
  import { graph } from './agent/graph-name/graph';
127
127
  import { Hono } from 'hono';
128
128
  import LangGraphApp, { type LangGraphServerContext } from '@langgraph-js/pure-graph/dist/adapter/hono/index';
129
-
129
+ import { cors } from 'hono/cors';
130
130
  registerGraph('test', graph);
131
131
 
132
132
  const app = new Hono<{ Variables: LangGraphServerContext }>();
133
-
133
+ app.use(cors())
134
134
  app.route('/', LangGraphApp);
135
135
 
136
+
136
137
  export default app;
137
138
  ```
138
139
 
@@ -1,12 +1,11 @@
1
1
  import { Hono } from 'hono';
2
2
  import { zValidator } from '@hono/zod-validator';
3
- import { c as createEndpoint } from '../../createEndpoint-C-7CCNeN.js';
3
+ import { c as createEndpoint } from '../../createEndpoint-DHnODS67.js';
4
4
  import { A as AssistantsSearchSchema, a as AssistantGraphQuerySchema, T as ThreadIdParamSchema, R as RunStreamPayloadSchema, b as RunListQuerySchema, c as RunIdParamSchema, d as RunCancelQuerySchema, e as ThreadStateUpdate, f as ThreadCreatePayloadSchema, g as ThreadSearchPayloadSchema } from '../../zod-C5lbZYj6.js';
5
5
  import camelcaseKeys from 'camelcase-keys';
6
6
  import { streamSSE } from 'hono/streaming';
7
- import { s as serialiseAsDict, L as LangGraphGlobal } from '../../stream-BwdFJfJb.js';
7
+ import { s as serialiseAsDict, L as LangGraphGlobal } from '../../stream-SJdqjfOM.js';
8
8
  import z from 'zod';
9
- import { cors } from 'hono/cors';
10
9
 
11
10
  const client = createEndpoint();
12
11
 
@@ -115,7 +114,6 @@ app.use("*", async (c, next) => {
115
114
  await LangGraphGlobal.initGlobal();
116
115
  return next();
117
116
  });
118
- app.use(cors());
119
117
  app.route("/", api$2);
120
118
  app.route("/", api$1);
121
119
  app.route("/", api);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/adapter/hono/endpoint.ts","../../../src/adapter/hono/assistants.ts","../../../src/adapter/hono/runs.ts","../../../src/adapter/hono/threads.ts","../../../src/adapter/hono/index.ts"],"sourcesContent":["import { createEndpoint } from '../../createEndpoint.js';\n\nexport const client = createEndpoint();\n","import { zValidator } from '@hono/zod-validator';\nimport { Hono } from 'hono';\nimport { client } from './endpoint';\nimport { AssistantsSearchSchema, AssistantGraphQuerySchema } from '../zod';\nimport camelcaseKeys from 'camelcase-keys';\nconst api = new Hono();\n\napi.post('/assistants/search', zValidator('json', AssistantsSearchSchema), async (c) => {\n // Search Assistants\n const payload = c.req.valid('json');\n let total = 0;\n const data = await client.assistants.search(camelcaseKeys(payload));\n c.res.headers.set('X-Pagination-Total', total.toString());\n return c.json(data);\n});\n\napi.get('/assistants/:assistant_id/graph', zValidator('query', AssistantGraphQuerySchema), async (c) => {\n const xray = c.req.valid('query').xray;\n const data = await client.assistants.getGraph(c.req.param('assistant_id'), {\n xray: xray !== undefined ? xray === 'true' : undefined,\n });\n return c.json(data);\n});\n\nexport default api;\n","import { zValidator } from '@hono/zod-validator';\nimport { Hono } from 'hono';\n\nimport { streamSSE } from 'hono/streaming';\nimport { client } from './endpoint';\nimport {\n ThreadIdParamSchema,\n RunIdParamSchema,\n RunStreamPayloadSchema,\n RunListQuerySchema,\n RunCancelQuerySchema,\n ThreadStateUpdate,\n} from '../zod';\nimport { serialiseAsDict } from '../../graph/stream';\nimport z from 'zod';\nimport type { LangGraphServerContext } from './index';\nimport camelcaseKeys from 'camelcase-keys';\n\nconst api = new Hono<{ Variables: LangGraphServerContext }>();\n\n// 最常用的对话接口\napi.post(\n '/threads/:thread_id/runs/stream',\n zValidator('param', ThreadIdParamSchema),\n zValidator('json', RunStreamPayloadSchema),\n async (c) => {\n // Stream Run\n const { thread_id } = c.req.valid('param');\n const payload = c.req.valid('json');\n\n // c.header('Content-Location', `/threads/${thread_id}/runs/${run.run_id}`);\n return streamSSE(c, async (stream) => {\n payload.config = payload.config || {};\n payload.config.configurable = payload.config.configurable || {};\n const langgraphContext = c.get('langgraph_context');\n if (langgraphContext) {\n Object.assign(payload.config.configurable, langgraphContext);\n }\n /** @ts-ignore zod v3 的问题,与 ts 类型不一致 */\n for await (const { event, data } of client.runs.stream(\n thread_id,\n payload.assistant_id,\n camelcaseKeys(payload) as any,\n )) {\n await stream.writeSSE({ data: serialiseAsDict(data) ?? '', event });\n }\n });\n },\n);\n\napi.get(\n '/threads/:thread_id/runs',\n zValidator('param', ThreadIdParamSchema),\n zValidator('query', RunListQuerySchema),\n async (c) => {\n const { thread_id } = c.req.valid('param');\n const { limit, offset, status } = c.req.valid('query');\n const runs = await client.runs.list(thread_id, { limit, offset, status });\n return c.json(runs);\n },\n);\n\napi.post(\n '/threads/:thread_id/runs/:run_id/cancel',\n zValidator('param', RunIdParamSchema),\n zValidator('query', RunCancelQuerySchema),\n async (c) => {\n // Cancel Run Http\n const { thread_id, run_id } = c.req.valid('param');\n const { wait, action } = c.req.valid('query');\n const cancel = client.runs.cancel(thread_id, run_id, wait, action);\n if (wait) {\n await cancel;\n }\n return c.body(null, wait ? 204 : 202);\n },\n);\n\napi.post(\n '/threads/:thread_id/state',\n zValidator('param', z.object({ thread_id: z.string().uuid() })),\n zValidator('json', ThreadStateUpdate),\n async (c) => {\n // Update Thread State\n const { thread_id } = c.req.valid('param');\n const payload = c.req.valid('json');\n // const config: RunnableConfig = { configurable: { thread_id } };\n\n // if (payload.checkpoint_id) {\n // config.configurable ??= {};\n // config.configurable.checkpoint_id = payload.checkpoint_id;\n // }\n // if (payload.checkpoint) {\n // config.configurable ??= {};\n // Object.assign(config.configurable, payload.checkpoint);\n // }\n\n const inserted = await client.threads.updateState(thread_id, payload);\n\n return c.json(inserted);\n },\n);\nexport default api;\n","import { zValidator } from '@hono/zod-validator';\nimport { Hono } from 'hono';\nimport { client } from './endpoint';\nimport { ThreadIdParamSchema, ThreadCreatePayloadSchema, ThreadSearchPayloadSchema } from '../zod';\nimport camelcaseKeys from 'camelcase-keys';\n\nconst api = new Hono();\n\n// Threads Routes\napi.post('/threads', zValidator('json', ThreadCreatePayloadSchema), async (c) => {\n const payload = c.req.valid('json');\n const thread = await client.threads.create(camelcaseKeys(payload));\n\n return c.json(thread);\n});\n\napi.post('/threads/search', zValidator('json', ThreadSearchPayloadSchema), async (c) => {\n // Search Threads\n const payload = c.req.valid('json');\n const result = await client.threads.search(camelcaseKeys(payload));\n c.res.headers.set('X-Pagination-Total', result.length.toString());\n return c.json(result);\n});\n\napi.get('/threads/:thread_id', zValidator('param', ThreadIdParamSchema), async (c) => {\n // Get Thread\n const { thread_id } = c.req.valid('param');\n return c.json(await client.threads.get(thread_id));\n});\n\napi.delete('/threads/:thread_id', zValidator('param', ThreadIdParamSchema), async (c) => {\n // Delete Thread\n const { thread_id } = c.req.valid('param');\n await client.threads.delete(thread_id);\n return new Response(null, { status: 204 });\n});\n\nexport default api;\n","import { Hono } from 'hono';\nimport Assistants from './assistants';\nimport Runs from './runs';\nimport Threads from './threads';\nimport { cors } from 'hono/cors';\nimport { LangGraphGlobal } from '../../global';\n\nexport interface LangGraphServerContext {\n langgraph_context: any;\n}\nconst app = new Hono<{ Variables: LangGraphServerContext }>();\napp.use('*', async (c, next) => {\n await LangGraphGlobal.initGlobal();\n return next();\n});\napp.use(cors());\n\napp.route('/', Assistants);\napp.route('/', Runs);\napp.route('/', Threads);\n\nexport default app;\n"],"names":["api","Assistants","Runs","Threads"],"mappings":";;;;;;;;;;AAEO,MAAM,SAAS,cAAA,EAAe;;ACGrC,MAAMA,KAAA,GAAM,IAAI,IAAA,EAAK;AAErBA,KAAA,CAAI,KAAK,oBAAA,EAAsB,UAAA,CAAW,QAAQ,sBAAsB,CAAA,EAAG,OAAO,CAAA,KAAM;AAEpF,EAAA,MAAM,OAAA,GAAU,CAAA,CAAE,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA;AAClC,EAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,EAAA,MAAM,OAAO,MAAM,MAAA,CAAO,WAAW,MAAA,CAAO,aAAA,CAAc,OAAO,CAAC,CAAA;AAClE,EAAA,CAAA,CAAE,IAAI,OAAA,CAAQ,GAAA,CAAI,oBAAA,EAAsB,KAAA,CAAM,UAAU,CAAA;AACxD,EAAA,OAAO,CAAA,CAAE,KAAK,IAAI,CAAA;AACtB,CAAC,CAAA;AAEDA,KAAA,CAAI,IAAI,iCAAA,EAAmC,UAAA,CAAW,SAAS,yBAAyB,CAAA,EAAG,OAAO,CAAA,KAAM;AACpG,EAAA,MAAM,IAAA,GAAO,CAAA,CAAE,GAAA,CAAI,KAAA,CAAM,OAAO,CAAA,CAAE,IAAA;AAClC,EAAA,MAAM,IAAA,GAAO,MAAM,MAAA,CAAO,UAAA,CAAW,SAAS,CAAA,CAAE,GAAA,CAAI,KAAA,CAAM,cAAc,CAAA,EAAG;AAAA,IACvE,IAAA,EAAM,IAAA,KAAS,MAAA,GAAY,IAAA,KAAS,MAAA,GAAS;AAAA,GAChD,CAAA;AACD,EAAA,OAAO,CAAA,CAAE,KAAK,IAAI,CAAA;AACtB,CAAC,CAAA;;ACJD,MAAMA,KAAA,GAAM,IAAI,IAAA,EAA4C;AAG5DA,KAAA,CAAI,IAAA;AAAA,EACA,iCAAA;AAAA,EACA,UAAA,CAAW,SAAS,mBAAmB,CAAA;AAAA,EACvC,UAAA,CAAW,QAAQ,sBAAsB,CAAA;AAAA,EACzC,OAAO,CAAA,KAAM;AAET,IAAA,MAAM,EAAE,SAAA,EAAU,GAAI,CAAA,CAAE,GAAA,CAAI,MAAM,OAAO,CAAA;AACzC,IAAA,MAAM,OAAA,GAAU,CAAA,CAAE,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA;AAGlC,IAAA,OAAO,SAAA,CAAU,CAAA,EAAG,OAAO,MAAA,KAAW;AAClC,MAAA,OAAA,CAAQ,MAAA,GAAS,OAAA,CAAQ,MAAA,IAAU,EAAC;AACpC,MAAA,OAAA,CAAQ,MAAA,CAAO,YAAA,GAAe,OAAA,CAAQ,MAAA,CAAO,gBAAgB,EAAC;AAC9D,MAAA,MAAM,gBAAA,GAAmB,CAAA,CAAE,GAAA,CAAI,mBAAmB,CAAA;AAClD,MAAA,IAAI,gBAAA,EAAkB;AAClB,QAAA,MAAA,CAAO,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,YAAA,EAAc,gBAAgB,CAAA;AAAA,MAC/D;AAEA,MAAA,WAAA,MAAiB,EAAE,KAAA,EAAO,IAAA,EAAK,IAAK,OAAO,IAAA,CAAK,MAAA;AAAA,QAC5C,SAAA;AAAA,QACA,OAAA,CAAQ,YAAA;AAAA,QACR,cAAc,OAAO;AAAA,OACzB,EAAG;AACC,QAAA,MAAM,MAAA,CAAO,SAAS,EAAE,IAAA,EAAM,gBAAgB,IAAI,CAAA,IAAK,EAAA,EAAI,KAAA,EAAO,CAAA;AAAA,MACtE;AAAA,IACJ,CAAC,CAAA;AAAA,EACL;AACJ,CAAA;AAEAA,KAAA,CAAI,GAAA;AAAA,EACA,0BAAA;AAAA,EACA,UAAA,CAAW,SAAS,mBAAmB,CAAA;AAAA,EACvC,UAAA,CAAW,SAAS,kBAAkB,CAAA;AAAA,EACtC,OAAO,CAAA,KAAM;AACT,IAAA,MAAM,EAAE,SAAA,EAAU,GAAI,CAAA,CAAE,GAAA,CAAI,MAAM,OAAO,CAAA;AACzC,IAAA,MAAM,EAAE,OAAO,MAAA,EAAQ,MAAA,KAAW,CAAA,CAAE,GAAA,CAAI,MAAM,OAAO,CAAA;AACrD,IAAA,MAAM,IAAA,GAAO,MAAM,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,WAAW,EAAE,KAAA,EAAO,MAAA,EAAQ,MAAA,EAAQ,CAAA;AACxE,IAAA,OAAO,CAAA,CAAE,KAAK,IAAI,CAAA;AAAA,EACtB;AACJ,CAAA;AAEAA,KAAA,CAAI,IAAA;AAAA,EACA,yCAAA;AAAA,EACA,UAAA,CAAW,SAAS,gBAAgB,CAAA;AAAA,EACpC,UAAA,CAAW,SAAS,oBAAoB,CAAA;AAAA,EACxC,OAAO,CAAA,KAAM;AAET,IAAA,MAAM,EAAE,SAAA,EAAW,MAAA,KAAW,CAAA,CAAE,GAAA,CAAI,MAAM,OAAO,CAAA;AACjD,IAAA,MAAM,EAAE,IAAA,EAAM,MAAA,KAAW,CAAA,CAAE,GAAA,CAAI,MAAM,OAAO,CAAA;AAC5C,IAAA,MAAM,SAAS,MAAA,CAAO,IAAA,CAAK,OAAO,SAAA,EAAW,MAAA,EAAQ,MAAM,MAAM,CAAA;AACjE,IAAA,IAAI,IAAA,EAAM;AACN,MAAA,MAAM,MAAA;AAAA,IACV;AACA,IAAA,OAAO,CAAA,CAAE,IAAA,CAAK,IAAA,EAAM,IAAA,GAAO,MAAM,GAAG,CAAA;AAAA,EACxC;AACJ,CAAA;AAEAA,KAAA,CAAI,IAAA;AAAA,EACA,2BAAA;AAAA,EACA,UAAA,CAAW,OAAA,EAAS,CAAA,CAAE,MAAA,CAAO,EAAE,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,EAAG,CAAC,CAAA;AAAA,EAC9D,UAAA,CAAW,QAAQ,iBAAiB,CAAA;AAAA,EACpC,OAAO,CAAA,KAAM;AAET,IAAA,MAAM,EAAE,SAAA,EAAU,GAAI,CAAA,CAAE,GAAA,CAAI,MAAM,OAAO,CAAA;AACzC,IAAA,MAAM,OAAA,GAAU,CAAA,CAAE,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA;AAYlC,IAAA,MAAM,WAAW,MAAM,MAAA,CAAO,OAAA,CAAQ,WAAA,CAAY,WAAW,OAAO,CAAA;AAEpE,IAAA,OAAO,CAAA,CAAE,KAAK,QAAQ,CAAA;AAAA,EAC1B;AACJ,CAAA;;AC/FA,MAAM,GAAA,GAAM,IAAI,IAAA,EAAK;AAGrB,GAAA,CAAI,KAAK,UAAA,EAAY,UAAA,CAAW,QAAQ,yBAAyB,CAAA,EAAG,OAAO,CAAA,KAAM;AAC7E,EAAA,MAAM,OAAA,GAAU,CAAA,CAAE,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA;AAClC,EAAA,MAAM,SAAS,MAAM,MAAA,CAAO,QAAQ,MAAA,CAAO,aAAA,CAAc,OAAO,CAAC,CAAA;AAEjE,EAAA,OAAO,CAAA,CAAE,KAAK,MAAM,CAAA;AACxB,CAAC,CAAA;AAED,GAAA,CAAI,KAAK,iBAAA,EAAmB,UAAA,CAAW,QAAQ,yBAAyB,CAAA,EAAG,OAAO,CAAA,KAAM;AAEpF,EAAA,MAAM,OAAA,GAAU,CAAA,CAAE,GAAA,CAAI,KAAA,CAAM,MAAM,CAAA;AAClC,EAAA,MAAM,SAAS,MAAM,MAAA,CAAO,QAAQ,MAAA,CAAO,aAAA,CAAc,OAAO,CAAC,CAAA;AACjE,EAAA,CAAA,CAAE,IAAI,OAAA,CAAQ,GAAA,CAAI,sBAAsB,MAAA,CAAO,MAAA,CAAO,UAAU,CAAA;AAChE,EAAA,OAAO,CAAA,CAAE,KAAK,MAAM,CAAA;AACxB,CAAC,CAAA;AAED,GAAA,CAAI,IAAI,qBAAA,EAAuB,UAAA,CAAW,SAAS,mBAAmB,CAAA,EAAG,OAAO,CAAA,KAAM;AAElF,EAAA,MAAM,EAAE,SAAA,EAAU,GAAI,CAAA,CAAE,GAAA,CAAI,MAAM,OAAO,CAAA;AACzC,EAAA,OAAO,EAAE,IAAA,CAAK,MAAM,OAAO,OAAA,CAAQ,GAAA,CAAI,SAAS,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,GAAA,CAAI,OAAO,qBAAA,EAAuB,UAAA,CAAW,SAAS,mBAAmB,CAAA,EAAG,OAAO,CAAA,KAAM;AAErF,EAAA,MAAM,EAAE,SAAA,EAAU,GAAI,CAAA,CAAE,GAAA,CAAI,MAAM,OAAO,CAAA;AACzC,EAAA,MAAM,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,SAAS,CAAA;AACrC,EAAA,OAAO,IAAI,QAAA,CAAS,IAAA,EAAM,EAAE,MAAA,EAAQ,KAAK,CAAA;AAC7C,CAAC,CAAA;;ACzBD,MAAM,GAAA,GAAM,IAAI,IAAA;AAChB,GAAA,CAAI,GAAA,CAAI,GAAA,EAAK,OAAO,CAAA,EAAG,IAAA,KAAS;AAC5B,EAAA,MAAM,gBAAgB,UAAA,EAAW;AACjC,EAAA,OAAO,IAAA,EAAK;AAChB,CAAC,CAAA;AACD,GAAA,CAAI,GAAA,CAAI,MAAM,CAAA;AAEd,GAAA,CAAI,KAAA,CAAM,KAAKC,KAAU,CAAA;AACzB,GAAA,CAAI,KAAA,CAAM,KAAKC,KAAI,CAAA;AACnB,GAAA,CAAI,KAAA,CAAM,KAAKC,GAAO,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/adapter/hono/endpoint.ts","../../../src/adapter/hono/assistants.ts","../../../src/adapter/hono/runs.ts","../../../src/adapter/hono/threads.ts","../../../src/adapter/hono/index.ts"],"sourcesContent":["import { createEndpoint } from '../../createEndpoint.js';\n\nexport const client = createEndpoint();\n","import { zValidator } from '@hono/zod-validator';\nimport { Hono } from 'hono';\nimport { client } from './endpoint';\nimport { AssistantsSearchSchema, AssistantGraphQuerySchema } from '../zod';\nimport camelcaseKeys from 'camelcase-keys';\nconst api = new Hono();\n\napi.post('/assistants/search', zValidator('json', AssistantsSearchSchema), async (c) => {\n // Search Assistants\n const payload = c.req.valid('json');\n let total = 0;\n const data = await client.assistants.search(camelcaseKeys(payload));\n c.res.headers.set('X-Pagination-Total', total.toString());\n return c.json(data);\n});\n\napi.get('/assistants/:assistant_id/graph', zValidator('query', AssistantGraphQuerySchema), async (c) => {\n const xray = c.req.valid('query').xray;\n const data = await client.assistants.getGraph(c.req.param('assistant_id'), {\n xray: xray !== undefined ? xray === 'true' : undefined,\n });\n return c.json(data);\n});\n\nexport default api;\n","import { zValidator } from '@hono/zod-validator';\nimport { Hono } from 'hono';\n\nimport { streamSSE } from 'hono/streaming';\nimport { client } from './endpoint';\nimport {\n ThreadIdParamSchema,\n RunIdParamSchema,\n RunStreamPayloadSchema,\n RunListQuerySchema,\n RunCancelQuerySchema,\n ThreadStateUpdate,\n} from '../zod';\nimport { serialiseAsDict } from '../../graph/stream';\nimport z from 'zod';\nimport type { LangGraphServerContext } from './index';\nimport camelcaseKeys from 'camelcase-keys';\n\nconst api = new Hono<{ Variables: LangGraphServerContext }>();\n\n// 最常用的对话接口\napi.post(\n '/threads/:thread_id/runs/stream',\n zValidator('param', ThreadIdParamSchema),\n zValidator('json', RunStreamPayloadSchema),\n async (c) => {\n // Stream Run\n const { thread_id } = c.req.valid('param');\n const payload = c.req.valid('json');\n\n // c.header('Content-Location', `/threads/${thread_id}/runs/${run.run_id}`);\n return streamSSE(c, async (stream) => {\n payload.config = payload.config || {};\n payload.config.configurable = payload.config.configurable || {};\n const langgraphContext = c.get('langgraph_context');\n if (langgraphContext) {\n Object.assign(payload.config.configurable, langgraphContext);\n }\n /** @ts-ignore zod v3 的问题,与 ts 类型不一致 */\n for await (const { event, data } of client.runs.stream(\n thread_id,\n payload.assistant_id,\n camelcaseKeys(payload) as any,\n )) {\n await stream.writeSSE({ data: serialiseAsDict(data) ?? '', event });\n }\n });\n },\n);\n\napi.get(\n '/threads/:thread_id/runs',\n zValidator('param', ThreadIdParamSchema),\n zValidator('query', RunListQuerySchema),\n async (c) => {\n const { thread_id } = c.req.valid('param');\n const { limit, offset, status } = c.req.valid('query');\n const runs = await client.runs.list(thread_id, { limit, offset, status });\n return c.json(runs);\n },\n);\n\napi.post(\n '/threads/:thread_id/runs/:run_id/cancel',\n zValidator('param', RunIdParamSchema),\n zValidator('query', RunCancelQuerySchema),\n async (c) => {\n // Cancel Run Http\n const { thread_id, run_id } = c.req.valid('param');\n const { wait, action } = c.req.valid('query');\n const cancel = client.runs.cancel(thread_id, run_id, wait, action);\n if (wait) {\n await cancel;\n }\n return c.body(null, wait ? 204 : 202);\n },\n);\n\napi.post(\n '/threads/:thread_id/state',\n zValidator('param', z.object({ thread_id: z.string().uuid() })),\n zValidator('json', ThreadStateUpdate),\n async (c) => {\n // Update Thread State\n const { thread_id } = c.req.valid('param');\n const payload = c.req.valid('json');\n // const config: RunnableConfig = { configurable: { thread_id } };\n\n // if (payload.checkpoint_id) {\n // config.configurable ??= {};\n // config.configurable.checkpoint_id = payload.checkpoint_id;\n // }\n // if (payload.checkpoint) {\n // config.configurable ??= {};\n // Object.assign(config.configurable, payload.checkpoint);\n // }\n\n const inserted = await client.threads.updateState(thread_id, payload);\n\n return c.json(inserted);\n },\n);\nexport default api;\n","import { zValidator } from '@hono/zod-validator';\nimport { Hono } from 'hono';\nimport { client } from './endpoint';\nimport { ThreadIdParamSchema, ThreadCreatePayloadSchema, ThreadSearchPayloadSchema } from '../zod';\nimport camelcaseKeys from 'camelcase-keys';\n\nconst api = new Hono();\n\n// Threads Routes\napi.post('/threads', zValidator('json', ThreadCreatePayloadSchema), async (c) => {\n const payload = c.req.valid('json');\n const thread = await client.threads.create(camelcaseKeys(payload));\n\n return c.json(thread);\n});\n\napi.post('/threads/search', zValidator('json', ThreadSearchPayloadSchema), async (c) => {\n // Search Threads\n const payload = c.req.valid('json');\n const result = await client.threads.search(camelcaseKeys(payload));\n c.res.headers.set('X-Pagination-Total', result.length.toString());\n return c.json(result);\n});\n\napi.get('/threads/:thread_id', zValidator('param', ThreadIdParamSchema), async (c) => {\n // Get Thread\n const { thread_id } = c.req.valid('param');\n return c.json(await client.threads.get(thread_id));\n});\n\napi.delete('/threads/:thread_id', zValidator('param', ThreadIdParamSchema), async (c) => {\n // Delete Thread\n const { thread_id } = c.req.valid('param');\n await client.threads.delete(thread_id);\n return new Response(null, { status: 204 });\n});\n\nexport default api;\n","import { Hono } from 'hono';\nimport Assistants from './assistants';\nimport Runs from './runs';\nimport Threads from './threads';\n// import { cors } from 'hono/cors';\nimport { LangGraphGlobal } from '../../global';\n\nexport interface LangGraphServerContext {\n langgraph_context: any;\n}\nconst app = new Hono<{ Variables: LangGraphServerContext }>();\napp.use('*', async (c, next) => {\n await LangGraphGlobal.initGlobal();\n return next();\n});\n// app.use(cors());\n\napp.route('/', Assistants);\napp.route('/', Runs);\napp.route('/', Threads);\n\nexport default app;\n"],"names":["api","Assistants","Runs","Threads"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { L as LangGraphGlobal } from '../../stream-BwdFJfJb.js';
1
+ import { L as LangGraphGlobal } from '../../stream-SJdqjfOM.js';
2
2
 
3
3
  async function ensureInitialized(attachGraphPromise) {
4
4
  if (globalThis.LG_INIT_PROMISE === void 0) {
5
5
  globalThis.LG_INIT_PROMISE = (async () => {
6
6
  await LangGraphGlobal.initGlobal();
7
7
  await attachGraphPromise();
8
- const { GET, POST, DELETE } = await import('../../router-DgmIokTx.js');
8
+ const { GET, POST, DELETE } = await import('../../router-AADuUgGy.js');
9
9
  return {
10
10
  GET,
11
11
  POST,
@@ -396,13 +396,13 @@ export declare const RunStreamPayloadSchema: z.ZodObject<{
396
396
  assistant_id: string;
397
397
  on_disconnect: "cancel" | "continue";
398
398
  checkpoint_id?: string | undefined;
399
- input?: any;
400
399
  metadata?: z.objectOutputType<{
401
400
  source: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"input">, z.ZodLiteral<"loop">, z.ZodLiteral<"update">, z.ZodString]>>;
402
401
  step: z.ZodOptional<z.ZodNumber>;
403
402
  writes: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
404
403
  parents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
405
404
  }, z.ZodUnknown, "strip"> | undefined;
405
+ input?: any;
406
406
  multitask_strategy?: "reject" | "interrupt" | "rollback" | "enqueue" | undefined;
407
407
  config?: z.objectOutputType<{
408
408
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -443,13 +443,13 @@ export declare const RunStreamPayloadSchema: z.ZodObject<{
443
443
  }, {
444
444
  assistant_id: string;
445
445
  checkpoint_id?: string | undefined;
446
- input?: any;
447
446
  metadata?: z.objectInputType<{
448
447
  source: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"input">, z.ZodLiteral<"loop">, z.ZodLiteral<"update">, z.ZodString]>>;
449
448
  step: z.ZodOptional<z.ZodNumber>;
450
449
  writes: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
451
450
  parents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
452
451
  }, z.ZodUnknown, "strip"> | undefined;
452
+ input?: any;
453
453
  multitask_strategy?: "reject" | "interrupt" | "rollback" | "enqueue" | undefined;
454
454
  config?: z.objectInputType<{
455
455
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;