@langchain/langgraph-sdk 0.1.10 → 1.0.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 (234) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  3. package/dist/auth/error.cjs +76 -86
  4. package/dist/auth/error.cjs.map +1 -0
  5. package/dist/auth/error.d.cts +13 -0
  6. package/dist/auth/error.d.cts.map +1 -0
  7. package/dist/auth/error.d.ts +12 -8
  8. package/dist/auth/error.d.ts.map +1 -0
  9. package/dist/auth/error.js +76 -83
  10. package/dist/auth/error.js.map +1 -0
  11. package/dist/auth/index.cjs +36 -44
  12. package/dist/auth/index.cjs.map +1 -0
  13. package/dist/auth/index.d.cts +31 -0
  14. package/dist/auth/index.d.cts.map +1 -0
  15. package/dist/auth/index.d.ts +20 -15
  16. package/dist/auth/index.d.ts.map +1 -0
  17. package/dist/auth/index.js +35 -39
  18. package/dist/auth/index.js.map +1 -0
  19. package/dist/auth/types.d.cts +294 -0
  20. package/dist/auth/types.d.cts.map +1 -0
  21. package/dist/auth/types.d.ts +162 -165
  22. package/dist/auth/types.d.ts.map +1 -0
  23. package/dist/client.cjs +1108 -1294
  24. package/dist/client.cjs.map +1 -0
  25. package/dist/client.d.cts +688 -0
  26. package/dist/client.d.cts.map +1 -0
  27. package/dist/client.d.ts +647 -639
  28. package/dist/client.d.ts.map +1 -0
  29. package/dist/client.js +1099 -1281
  30. package/dist/client.js.map +1 -0
  31. package/dist/index.cjs +6 -8
  32. package/dist/index.d.cts +7 -0
  33. package/dist/index.d.ts +7 -7
  34. package/dist/index.js +4 -2
  35. package/dist/logging/index.cjs +30 -31
  36. package/dist/logging/index.cjs.map +1 -0
  37. package/dist/logging/index.d.cts +47 -0
  38. package/dist/logging/index.d.cts.map +1 -0
  39. package/dist/logging/index.d.ts +20 -16
  40. package/dist/logging/index.d.ts.map +1 -0
  41. package/dist/logging/index.js +31 -29
  42. package/dist/logging/index.js.map +1 -0
  43. package/dist/react/index.cjs +5 -7
  44. package/dist/react/index.d.cts +4 -0
  45. package/dist/react/index.d.ts +4 -3
  46. package/dist/react/index.js +4 -2
  47. package/dist/react/stream.cjs +14 -15
  48. package/dist/react/stream.cjs.map +1 -0
  49. package/dist/react/stream.custom.cjs +126 -145
  50. package/dist/react/stream.custom.cjs.map +1 -0
  51. package/dist/react/stream.custom.d.cts +39 -0
  52. package/dist/react/stream.custom.d.cts.map +1 -0
  53. package/dist/react/stream.custom.d.ts +35 -37
  54. package/dist/react/stream.custom.d.ts.map +1 -0
  55. package/dist/react/stream.custom.js +122 -137
  56. package/dist/react/stream.custom.js.map +1 -0
  57. package/dist/react/stream.d.cts +73 -0
  58. package/dist/react/stream.d.cts.map +1 -0
  59. package/dist/react/stream.d.ts +21 -15
  60. package/dist/react/stream.d.ts.map +1 -0
  61. package/dist/react/stream.js +12 -11
  62. package/dist/react/stream.js.map +1 -0
  63. package/dist/react/stream.lgp.cjs +438 -498
  64. package/dist/react/stream.lgp.cjs.map +1 -0
  65. package/dist/react/stream.lgp.js +433 -490
  66. package/dist/react/stream.lgp.js.map +1 -0
  67. package/dist/react/thread.cjs +18 -15
  68. package/dist/react/thread.cjs.map +1 -0
  69. package/dist/react/thread.js +19 -13
  70. package/dist/react/thread.js.map +1 -0
  71. package/dist/react/types.d.cts +355 -0
  72. package/dist/react/types.d.cts.map +1 -0
  73. package/dist/react/types.d.ts +333 -329
  74. package/dist/react/types.d.ts.map +1 -0
  75. package/dist/react-ui/client.cjs +123 -184
  76. package/dist/react-ui/client.cjs.map +1 -0
  77. package/dist/react-ui/client.d.cts +90 -0
  78. package/dist/react-ui/client.d.cts.map +1 -0
  79. package/dist/react-ui/client.d.ts +67 -51
  80. package/dist/react-ui/client.d.ts.map +1 -0
  81. package/dist/react-ui/client.js +118 -143
  82. package/dist/react-ui/client.js.map +1 -0
  83. package/dist/react-ui/index.cjs +14 -13
  84. package/dist/react-ui/index.cjs.map +1 -0
  85. package/dist/react-ui/index.d.cts +3 -0
  86. package/dist/react-ui/index.d.ts +3 -2
  87. package/dist/react-ui/index.js +8 -3
  88. package/dist/react-ui/index.js.map +1 -0
  89. package/dist/react-ui/server/index.cjs +5 -7
  90. package/dist/react-ui/server/index.d.cts +3 -0
  91. package/dist/react-ui/server/index.d.ts +3 -2
  92. package/dist/react-ui/server/index.js +4 -2
  93. package/dist/react-ui/server/server.cjs +53 -44
  94. package/dist/react-ui/server/server.cjs.map +1 -0
  95. package/dist/react-ui/server/server.d.cts +55 -0
  96. package/dist/react-ui/server/server.d.cts.map +1 -0
  97. package/dist/react-ui/server/server.d.ts +43 -39
  98. package/dist/react-ui/server/server.d.ts.map +1 -0
  99. package/dist/react-ui/server/server.js +54 -42
  100. package/dist/react-ui/server/server.js.map +1 -0
  101. package/dist/react-ui/types.cjs +32 -36
  102. package/dist/react-ui/types.cjs.map +1 -0
  103. package/dist/react-ui/types.d.cts +25 -0
  104. package/dist/react-ui/types.d.cts.map +1 -0
  105. package/dist/react-ui/types.d.ts +23 -19
  106. package/dist/react-ui/types.d.ts.map +1 -0
  107. package/dist/react-ui/types.js +32 -34
  108. package/dist/react-ui/types.js.map +1 -0
  109. package/dist/schema.d.cts +277 -0
  110. package/dist/schema.d.cts.map +1 -0
  111. package/dist/schema.d.ts +249 -242
  112. package/dist/schema.d.ts.map +1 -0
  113. package/dist/singletons/fetch.cjs +16 -20
  114. package/dist/singletons/fetch.cjs.map +1 -0
  115. package/dist/singletons/fetch.d.cts +14 -0
  116. package/dist/singletons/fetch.d.cts.map +1 -0
  117. package/dist/singletons/fetch.d.ts +5 -2
  118. package/dist/singletons/fetch.d.ts.map +1 -0
  119. package/dist/singletons/fetch.js +16 -17
  120. package/dist/singletons/fetch.js.map +1 -0
  121. package/dist/types.d.cts +187 -0
  122. package/dist/types.d.cts.map +1 -0
  123. package/dist/types.d.ts +178 -173
  124. package/dist/types.d.ts.map +1 -0
  125. package/dist/types.messages.d.cts +91 -0
  126. package/dist/types.messages.d.cts.map +1 -0
  127. package/dist/types.messages.d.ts +71 -66
  128. package/dist/types.messages.d.ts.map +1 -0
  129. package/dist/types.stream.d.cts +235 -0
  130. package/dist/types.stream.d.cts.map +1 -0
  131. package/dist/types.stream.d.ts +149 -142
  132. package/dist/types.stream.d.ts.map +1 -0
  133. package/dist/ui/branching.cjs +145 -141
  134. package/dist/ui/branching.cjs.map +1 -0
  135. package/dist/ui/branching.d.cts +22 -0
  136. package/dist/ui/branching.d.cts.map +1 -0
  137. package/dist/ui/branching.d.ts +17 -30
  138. package/dist/ui/branching.d.ts.map +1 -0
  139. package/dist/ui/branching.js +147 -139
  140. package/dist/ui/branching.js.map +1 -0
  141. package/dist/ui/errors.cjs +14 -12
  142. package/dist/ui/errors.cjs.map +1 -0
  143. package/dist/ui/errors.js +14 -9
  144. package/dist/ui/errors.js.map +1 -0
  145. package/dist/ui/manager.cjs +156 -232
  146. package/dist/ui/manager.cjs.map +1 -0
  147. package/dist/ui/manager.js +156 -228
  148. package/dist/ui/manager.js.map +1 -0
  149. package/dist/ui/messages.cjs +55 -69
  150. package/dist/ui/messages.cjs.map +1 -0
  151. package/dist/ui/messages.js +55 -66
  152. package/dist/ui/messages.js.map +1 -0
  153. package/dist/ui/utils.cjs +10 -10
  154. package/dist/ui/utils.cjs.map +1 -0
  155. package/dist/ui/utils.js +10 -8
  156. package/dist/ui/utils.js.map +1 -0
  157. package/dist/utils/async_caller.cjs +103 -185
  158. package/dist/utils/async_caller.cjs.map +1 -0
  159. package/dist/utils/async_caller.d.cts +53 -0
  160. package/dist/utils/async_caller.d.cts.map +1 -0
  161. package/dist/utils/async_caller.d.ts +36 -31
  162. package/dist/utils/async_caller.d.ts.map +1 -0
  163. package/dist/utils/async_caller.js +101 -177
  164. package/dist/utils/async_caller.js.map +1 -0
  165. package/dist/utils/env.cjs +11 -13
  166. package/dist/utils/env.cjs.map +1 -0
  167. package/dist/utils/env.js +11 -11
  168. package/dist/utils/env.js.map +1 -0
  169. package/dist/utils/signals.cjs +18 -19
  170. package/dist/utils/signals.cjs.map +1 -0
  171. package/dist/utils/signals.js +18 -17
  172. package/dist/utils/signals.js.map +1 -0
  173. package/dist/utils/sse.cjs +110 -140
  174. package/dist/utils/sse.cjs.map +1 -0
  175. package/dist/utils/sse.js +110 -138
  176. package/dist/utils/sse.js.map +1 -0
  177. package/dist/utils/stream.cjs +90 -114
  178. package/dist/utils/stream.cjs.map +1 -0
  179. package/dist/utils/stream.js +90 -111
  180. package/dist/utils/stream.js.map +1 -0
  181. package/package.json +72 -80
  182. package/auth.cjs +0 -1
  183. package/auth.d.cts +0 -1
  184. package/auth.d.ts +0 -1
  185. package/auth.js +0 -1
  186. package/client.cjs +0 -1
  187. package/client.d.cts +0 -1
  188. package/client.d.ts +0 -1
  189. package/client.js +0 -1
  190. package/dist/auth/types.cjs +0 -2
  191. package/dist/auth/types.js +0 -1
  192. package/dist/react/stream.lgp.d.ts +0 -7
  193. package/dist/react/thread.d.ts +0 -4
  194. package/dist/react/types.cjs +0 -2
  195. package/dist/react/types.js +0 -1
  196. package/dist/schema.cjs +0 -2
  197. package/dist/schema.js +0 -1
  198. package/dist/types.cjs +0 -2
  199. package/dist/types.js +0 -1
  200. package/dist/types.messages.cjs +0 -2
  201. package/dist/types.messages.js +0 -1
  202. package/dist/types.stream.cjs +0 -2
  203. package/dist/types.stream.js +0 -1
  204. package/dist/ui/branching.test.cjs +0 -370
  205. package/dist/ui/branching.test.d.ts +0 -1
  206. package/dist/ui/branching.test.js +0 -368
  207. package/dist/ui/errors.d.ts +0 -12
  208. package/dist/ui/manager.d.ts +0 -87
  209. package/dist/ui/messages.d.ts +0 -18
  210. package/dist/ui/utils.d.ts +0 -2
  211. package/dist/utils/env.d.ts +0 -1
  212. package/dist/utils/signals.d.ts +0 -1
  213. package/dist/utils/sse.d.ts +0 -8
  214. package/dist/utils/stream.d.ts +0 -13
  215. package/index.cjs +0 -1
  216. package/index.d.cts +0 -1
  217. package/index.d.ts +0 -1
  218. package/index.js +0 -1
  219. package/logging.cjs +0 -1
  220. package/logging.d.cts +0 -1
  221. package/logging.d.ts +0 -1
  222. package/logging.js +0 -1
  223. package/react-ui/server.cjs +0 -1
  224. package/react-ui/server.d.cts +0 -1
  225. package/react-ui/server.d.ts +0 -1
  226. package/react-ui/server.js +0 -1
  227. package/react-ui.cjs +0 -1
  228. package/react-ui.d.cts +0 -1
  229. package/react-ui.d.ts +0 -1
  230. package/react-ui.js +0 -1
  231. package/react.cjs +0 -1
  232. package/react.d.cts +0 -1
  233. package/react.d.ts +0 -1
  234. package/react.js +0 -1
@@ -1,48 +1,57 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.typedUi = void 0;
4
- const uuid_1 = require("uuid");
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const uuid = require_rolldown_runtime.__toESM(require("uuid"));
3
+
4
+ //#region src/react-ui/server/server.ts
5
5
  /**
6
- * Helper to send and persist UI messages. Accepts a map of component names to React components
7
- * as type argument to provide type safety. Will also write to the `options?.stateKey` state.
8
- *
9
- * @param config LangGraphRunnableConfig
10
- * @param options
11
- * @returns
12
- */
6
+ * Helper to send and persist UI messages. Accepts a map of component names to React components
7
+ * as type argument to provide type safety. Will also write to the `options?.stateKey` state.
8
+ *
9
+ * @param config LangGraphRunnableConfig
10
+ * @param options
11
+ * @returns
12
+ */
13
13
  const typedUi = (config, options) => {
14
- const items = [];
15
- const stateKey = options?.stateKey ?? "ui";
16
- const runId = config.metadata?.run_id ?? config.runId;
17
- if (!runId)
18
- throw new Error("run_id is required");
19
- function handlePush(message, options) {
20
- const evt = {
21
- type: "ui",
22
- id: message?.id ?? (0, uuid_1.v4)(),
23
- name: message?.name,
24
- props: message?.props,
25
- metadata: {
26
- merge: options?.merge || undefined,
27
- run_id: runId,
28
- tags: config.tags,
29
- name: config.runName,
30
- ...message?.metadata,
31
- ...(options?.message ? { message_id: options.message.id } : null),
32
- },
33
- };
34
- items.push(evt);
35
- config.writer?.(evt);
36
- config.configurable?.__pregel_send?.([[stateKey, evt]]);
37
- return evt;
38
- }
39
- const handleDelete = (id) => {
40
- const evt = { type: "remove-ui", id };
41
- items.push(evt);
42
- config.writer?.(evt);
43
- config.configurable?.__pregel_send?.([[stateKey, evt]]);
44
- return evt;
45
- };
46
- return { push: handlePush, delete: handleDelete, items };
14
+ const items = [];
15
+ const stateKey = options?.stateKey ?? "ui";
16
+ const runId = config.metadata?.run_id ?? config.runId;
17
+ if (!runId) throw new Error("run_id is required");
18
+ function handlePush(message, options$1) {
19
+ const evt = {
20
+ type: "ui",
21
+ id: message?.id ?? (0, uuid.v4)(),
22
+ name: message?.name,
23
+ props: message?.props,
24
+ metadata: {
25
+ merge: options$1?.merge || void 0,
26
+ run_id: runId,
27
+ tags: config.tags,
28
+ name: config.runName,
29
+ ...message?.metadata,
30
+ ...options$1?.message ? { message_id: options$1.message.id } : null
31
+ }
32
+ };
33
+ items.push(evt);
34
+ config.writer?.(evt);
35
+ config.configurable?.__pregel_send?.([[stateKey, evt]]);
36
+ return evt;
37
+ }
38
+ const handleDelete = (id) => {
39
+ const evt = {
40
+ type: "remove-ui",
41
+ id
42
+ };
43
+ items.push(evt);
44
+ config.writer?.(evt);
45
+ config.configurable?.__pregel_send?.([[stateKey, evt]]);
46
+ return evt;
47
+ };
48
+ return {
49
+ push: handlePush,
50
+ delete: handleDelete,
51
+ items
52
+ };
47
53
  };
54
+
55
+ //#endregion
48
56
  exports.typedUi = typedUi;
57
+ //# sourceMappingURL=server.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.cjs","names":["items: (UIMessage | RemoveUIMessage)[]","evt: UIMessage<K, PropMap[K] | Partial<PropMap[K]>>","options","evt: RemoveUIMessage"],"sources":["../../../src/react-ui/server/server.ts"],"sourcesContent":["import { v4 as uuidv4 } from \"uuid\";\nimport type { ComponentPropsWithoutRef, ElementType } from \"react\";\nimport type { RemoveUIMessage, UIMessage } from \"../types.js\";\n\ninterface MessageLike {\n id?: string;\n}\n\n/**\n * Helper to send and persist UI messages. Accepts a map of component names to React components\n * as type argument to provide type safety. Will also write to the `options?.stateKey` state.\n *\n * @param config LangGraphRunnableConfig\n * @param options\n * @returns\n */\nexport const typedUi = <Decl extends Record<string, ElementType>>(\n config: {\n writer?: (chunk: unknown) => void;\n runId?: string;\n metadata?: Record<string, unknown>;\n tags?: string[];\n runName?: string;\n configurable?: {\n __pregel_send?: (writes_: [string, unknown][]) => void;\n [key: string]: unknown;\n };\n },\n options?: {\n /** The key to write the UI messages to. Defaults to `ui`. */\n stateKey?: string;\n }\n) => {\n type PropMap = { [K in keyof Decl]: ComponentPropsWithoutRef<Decl[K]> };\n const items: (UIMessage | RemoveUIMessage)[] = [];\n const stateKey = options?.stateKey ?? \"ui\";\n\n const runId = (config.metadata?.run_id as string | undefined) ?? config.runId;\n if (!runId) throw new Error(\"run_id is required\");\n\n function handlePush<K extends keyof PropMap & string>(\n message: {\n id?: string;\n name: K;\n props: PropMap[K];\n metadata?: Record<string, unknown>;\n },\n options?: { message?: MessageLike; merge?: boolean }\n ): UIMessage<K, PropMap[K]>;\n\n function handlePush<K extends keyof PropMap & string>(\n message: {\n id?: string;\n name: K;\n props: Partial<PropMap[K]>;\n metadata?: Record<string, unknown>;\n },\n options: { message?: MessageLike; merge: true }\n ): UIMessage<K, Partial<PropMap[K]>>;\n\n function handlePush<K extends keyof PropMap & string>(\n message: {\n id?: string;\n name: K;\n props: PropMap[K] | Partial<PropMap[K]>;\n metadata?: Record<string, unknown>;\n },\n options?: { message?: MessageLike; merge?: boolean }\n ): UIMessage<K, PropMap[K] | Partial<PropMap[K]>> {\n const evt: UIMessage<K, PropMap[K] | Partial<PropMap[K]>> = {\n type: \"ui\" as const,\n id: message?.id ?? uuidv4(),\n name: message?.name,\n props: message?.props,\n metadata: {\n merge: options?.merge || undefined,\n run_id: runId,\n tags: config.tags,\n name: config.runName,\n ...message?.metadata,\n ...(options?.message ? { message_id: options.message.id } : null),\n },\n };\n items.push(evt);\n config.writer?.(evt);\n config.configurable?.__pregel_send?.([[stateKey, evt]]);\n return evt;\n }\n\n const handleDelete = (id: string): RemoveUIMessage => {\n const evt: RemoveUIMessage = { type: \"remove-ui\", id };\n items.push(evt);\n config.writer?.(evt);\n config.configurable?.__pregel_send?.([[stateKey, evt]]);\n return evt;\n };\n\n return { push: handlePush, delete: handleDelete, items };\n};\n"],"mappings":";;;;;;;;;;;;AAgBA,MAAa,WACX,QAWA,YAIG;CAEH,MAAMA,QAAyC;CAC/C,MAAM,WAAW,SAAS,YAAY;CAEtC,MAAM,QAAS,OAAO,UAAU,UAAiC,OAAO;AACxE,KAAI,CAAC,MAAO,OAAM,IAAI,MAAM;CAsB5B,SAAS,WACP,SAMA,WACgD;EAChD,MAAMC,MAAsD;GAC1D,MAAM;GACN,IAAI,SAAS;GACb,MAAM,SAAS;GACf,OAAO,SAAS;GAChB,UAAU;IACR,OAAOC,WAAS,SAAS;IACzB,QAAQ;IACR,MAAM,OAAO;IACb,MAAM,OAAO;IACb,GAAG,SAAS;IACZ,GAAIA,WAAS,UAAU,EAAE,YAAYA,UAAQ,QAAQ,OAAO;;;AAGhE,QAAM,KAAK;AACX,SAAO,SAAS;AAChB,SAAO,cAAc,gBAAgB,CAAC,CAAC,UAAU;AACjD,SAAO;;CAGT,MAAM,gBAAgB,OAAgC;EACpD,MAAMC,MAAuB;GAAE,MAAM;GAAa;;AAClD,QAAM,KAAK;AACX,SAAO,SAAS;AAChB,SAAO,cAAc,gBAAgB,CAAC,CAAC,UAAU;AACjD,SAAO;;AAGT,QAAO;EAAE,MAAM;EAAY,QAAQ;EAAc"}
@@ -0,0 +1,55 @@
1
+ import { RemoveUIMessage, UIMessage } from "../types.cjs";
2
+ import { ComponentPropsWithoutRef, ElementType } from "react";
3
+
4
+ //#region src/react-ui/server/server.d.ts
5
+ interface MessageLike {
6
+ id?: string;
7
+ }
8
+ /**
9
+ * Helper to send and persist UI messages. Accepts a map of component names to React components
10
+ * as type argument to provide type safety. Will also write to the `options?.stateKey` state.
11
+ *
12
+ * @param config LangGraphRunnableConfig
13
+ * @param options
14
+ * @returns
15
+ */
16
+ declare const typedUi: <Decl extends Record<string, ElementType>>(config: {
17
+ writer?: ((chunk: unknown) => void) | undefined;
18
+ runId?: string | undefined;
19
+ metadata?: Record<string, unknown> | undefined;
20
+ tags?: string[] | undefined;
21
+ runName?: string | undefined;
22
+ configurable?: {
23
+ [key: string]: unknown;
24
+ __pregel_send?: ((writes_: [string, unknown][]) => void) | undefined;
25
+ } | undefined;
26
+ }, options?: {
27
+ /** The key to write the UI messages to. Defaults to `ui`. */
28
+ stateKey?: string | undefined;
29
+ } | undefined) => {
30
+ push: {
31
+ <K extends keyof Decl & string>(message: {
32
+ id?: string | undefined;
33
+ name: K;
34
+ props: { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]> }[K];
35
+ metadata?: Record<string, unknown> | undefined;
36
+ }, options?: {
37
+ message?: MessageLike | undefined;
38
+ merge?: boolean | undefined;
39
+ } | undefined): UIMessage<K, { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]> }[K]>;
40
+ <K extends keyof Decl & string>(message: {
41
+ id?: string | undefined;
42
+ name: K;
43
+ props: Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]> }[K]>;
44
+ metadata?: Record<string, unknown> | undefined;
45
+ }, options: {
46
+ message?: MessageLike | undefined;
47
+ merge: true;
48
+ }): UIMessage<K, Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]> }[K]>>;
49
+ };
50
+ delete: (id: string) => RemoveUIMessage;
51
+ items: (RemoveUIMessage | UIMessage<string, Record<string, unknown>>)[];
52
+ };
53
+ //#endregion
54
+ export { typedUi };
55
+ //# sourceMappingURL=server.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.cts","names":["ComponentPropsWithoutRef","ElementType","RemoveUIMessage","UIMessage","MessageLike","typedUi","Record","Decl","K","K_1","Partial"],"sources":["../../../src/react-ui/server/server.d.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef, ElementType } from \"react\";\nimport type { RemoveUIMessage, UIMessage } from \"../types.js\";\ninterface MessageLike {\n id?: string;\n}\n/**\n * Helper to send and persist UI messages. Accepts a map of component names to React components\n * as type argument to provide type safety. Will also write to the `options?.stateKey` state.\n *\n * @param config LangGraphRunnableConfig\n * @param options\n * @returns\n */\nexport declare const typedUi: <Decl extends Record<string, ElementType>>(config: {\n writer?: ((chunk: unknown) => void) | undefined;\n runId?: string | undefined;\n metadata?: Record<string, unknown> | undefined;\n tags?: string[] | undefined;\n runName?: string | undefined;\n configurable?: {\n [key: string]: unknown;\n __pregel_send?: ((writes_: [string, unknown][]) => void) | undefined;\n } | undefined;\n}, options?: {\n /** The key to write the UI messages to. Defaults to `ui`. */\n stateKey?: string | undefined;\n} | undefined) => {\n push: {\n <K extends keyof Decl & string>(message: {\n id?: string | undefined;\n name: K;\n props: { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K];\n metadata?: Record<string, unknown> | undefined;\n }, options?: {\n message?: MessageLike | undefined;\n merge?: boolean | undefined;\n } | undefined): UIMessage<K, { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>;\n <K extends keyof Decl & string>(message: {\n id?: string | undefined;\n name: K;\n props: Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>;\n metadata?: Record<string, unknown> | undefined;\n }, options: {\n message?: MessageLike | undefined;\n merge: true;\n }): UIMessage<K, Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>>;\n };\n delete: (id: string) => RemoveUIMessage;\n items: (RemoveUIMessage | UIMessage<string, Record<string, unknown>>)[];\n};\nexport {};\n"],"mappings":";;;;UAEUI,WAAAA;;AADoD;AAY9D;;;;;;;;AAkBmEG,cAlB9CF,OAkB8CE,EAAAA,CAAAA,aAlBvBD,MAkBuBC,CAAAA,MAAAA,EAlBRN,WAkBQM,CAAAA,CAAAA,CAAAA,MAAAA,EAAAA;QAAKE,CAAAA,EAAAA,CAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,GAAAA,IAAAA,CAAAA,GAAAA,SAAAA;OAA9BT,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;UAAuCQ,CAAAA,EAflEF,MAekEE,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,GAAAA,SAAAA;MAC1DF,CAAAA,EAAAA,MAAAA,EAAAA,GAAAA,SAAAA;SAEDF,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;cAEYI,CAAAA,EAAAA;IAAmBD,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAAA,OAAAA;IAAgCA,aAAAA,CAAAA,EAAAA,CAAAA,CAAAA,OAAAA,EAAAA,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAAA,GAAAA,IAAAA,CAAAA,GAAAA,SAAAA;MAAKE,SAAAA;UACjEF,CADmCP,EAAAA;;UAApCG,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;aACCI,EAAAA,GAAAA;MAEPC,EAAAA;IACyBD,CAAAA,UAAAA,MAZlBA,IAYkBA,GAAAA,MAAAA,CAAAA,CAAAA,OAAAA,EAAAA;MAAgCA,EAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;MAAKE,IAAAA,EAV9DD,CAU8DC;MAA9BT,KAAAA,EAAAA,UAAAA,MATfO,IASeP,GATRA,wBASQA,CATiBO,IASjBP,CATsBS,GAStBT,CAAAA,CAAAA,EAAAA,CAT+BQ,CAS/BR,CAAAA;MAAuCQ,QAAAA,CAAAA,EARlEF,MAQkEE,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,GAAAA,SAAAA;IAAtEE,CAAAA,EAAAA,OAKGF,CALHE,EAAAA;MACIJ,OAAAA,CAAAA,EAPDF,WAOCE,GAAAA,SAAAA;MAEDF,KAAAA,CAAAA,EAAAA,OAAAA,GAAAA,SAAAA;IAEAI,CAAAA,GAAAA,SAAAA,CAAAA,EATEL,SASFK,CATYA,CASZA,EAAAA,UAAAA,MAT+BD,IAS/BC,GATsCR,wBAStCQ,CAT+DD,IAS/DC,CAToEC,GASpED,CAAAA,CAAAA,EAAAA,CAT6EA,CAS7EA,CAAAA,CAAAA;IAA2BD,CAAAA,UAAAA,MARxBA,IAQwBA,GAAAA,MAAAA,CAAAA,CAAAA,OAAAA,EAAAA;MAAgCA,EAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;MAAKE,IAAAA,EANpED,CAMoEC;MAA9BT,KAAAA,EALrCU,OAKqCV,CAAAA,UAAAA,MALbO,IAKaP,GALNA,wBAKMA,CALmBO,IAKnBP,CALwBS,GAKxBT,CAAAA,CAAAA,EAAAA,CALiCQ,CAKjCR,CAAAA,CAAAA;MAAuCQ,QAAAA,CAAAA,EAJxEF,MAIwEE,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,GAAAA,SAAAA;IAAtEE,CAAAA,EAAAA,OAAAA,EAAAA;MAAbP,OAAAA,CAAAA,EAFUC,WAEVD,GAAAA,SAAAA;MAEgBD,KAAAA,EAAAA,IAAAA;IAChBA,CAAAA,CAAAA,EAHAC,SAGAD,CAHUM,CAGVN,EAHaQ,OAGbR,CAAAA,UAAAA,MAHqCK,IAGrCL,GAH4CF,wBAG5CE,CAHqEK,IAGrEL,CAH0EO,GAG1EP,CAAAA,CAAAA,EAAAA,CAHmFM,CAGnFN,CAAAA,CAAAA,CAAAA;;QAAkBC,EAAAA,CAAAA,EAAAA,EAAAA,MAAAA,EAAAA,GADFD,eACEC;UAAlBD,kBAAkBC,kBAAkBG"}
@@ -1,7 +1,9 @@
1
- import type { ComponentPropsWithoutRef, ElementType } from "react";
2
- import type { RemoveUIMessage, UIMessage } from "../types.js";
1
+ import { RemoveUIMessage, UIMessage } from "../types.js";
2
+ import { ComponentPropsWithoutRef, ElementType } from "react";
3
+
4
+ //#region src/react-ui/server/server.d.ts
3
5
  interface MessageLike {
4
- id?: string;
6
+ id?: string;
5
7
  }
6
8
  /**
7
9
  * Helper to send and persist UI messages. Accepts a map of component names to React components
@@ -11,41 +13,43 @@ interface MessageLike {
11
13
  * @param options
12
14
  * @returns
13
15
  */
14
- export declare const typedUi: <Decl extends Record<string, ElementType>>(config: {
15
- writer?: (chunk: unknown) => void;
16
- runId?: string;
17
- metadata?: Record<string, unknown>;
18
- tags?: string[];
19
- runName?: string;
20
- configurable?: {
21
- __pregel_send?: (writes_: [string, unknown][]) => void;
22
- [key: string]: unknown;
23
- };
16
+ declare const typedUi: <Decl extends Record<string, ElementType>>(config: {
17
+ writer?: ((chunk: unknown) => void) | undefined;
18
+ runId?: string | undefined;
19
+ metadata?: Record<string, unknown> | undefined;
20
+ tags?: string[] | undefined;
21
+ runName?: string | undefined;
22
+ configurable?: {
23
+ [key: string]: unknown;
24
+ __pregel_send?: ((writes_: [string, unknown][]) => void) | undefined;
25
+ } | undefined;
24
26
  }, options?: {
25
- /** The key to write the UI messages to. Defaults to `ui`. */
26
- stateKey?: string;
27
- }) => {
28
- push: {
29
- <K extends keyof Decl & string>(message: {
30
- id?: string;
31
- name: K;
32
- props: { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K];
33
- metadata?: Record<string, unknown>;
34
- }, options?: {
35
- message?: MessageLike;
36
- merge?: boolean;
37
- }): UIMessage<K, { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>;
38
- <K extends keyof Decl & string>(message: {
39
- id?: string;
40
- name: K;
41
- props: Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>;
42
- metadata?: Record<string, unknown>;
43
- }, options: {
44
- message?: MessageLike;
45
- merge: true;
46
- }): UIMessage<K, Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>>;
47
- };
48
- delete: (id: string) => RemoveUIMessage;
49
- items: (RemoveUIMessage | UIMessage<string, Record<string, unknown>>)[];
27
+ /** The key to write the UI messages to. Defaults to `ui`. */
28
+ stateKey?: string | undefined;
29
+ } | undefined) => {
30
+ push: {
31
+ <K extends keyof Decl & string>(message: {
32
+ id?: string | undefined;
33
+ name: K;
34
+ props: { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]> }[K];
35
+ metadata?: Record<string, unknown> | undefined;
36
+ }, options?: {
37
+ message?: MessageLike | undefined;
38
+ merge?: boolean | undefined;
39
+ } | undefined): UIMessage<K, { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]> }[K]>;
40
+ <K extends keyof Decl & string>(message: {
41
+ id?: string | undefined;
42
+ name: K;
43
+ props: Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]> }[K]>;
44
+ metadata?: Record<string, unknown> | undefined;
45
+ }, options: {
46
+ message?: MessageLike | undefined;
47
+ merge: true;
48
+ }): UIMessage<K, Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]> }[K]>>;
49
+ };
50
+ delete: (id: string) => RemoveUIMessage;
51
+ items: (RemoveUIMessage | UIMessage<string, Record<string, unknown>>)[];
50
52
  };
51
- export {};
53
+ //#endregion
54
+ export { typedUi };
55
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","names":["ComponentPropsWithoutRef","ElementType","RemoveUIMessage","UIMessage","MessageLike","typedUi","Record","Decl","K","K_1","Partial"],"sources":["../../../src/react-ui/server/server.d.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef, ElementType } from \"react\";\nimport type { RemoveUIMessage, UIMessage } from \"../types.js\";\ninterface MessageLike {\n id?: string;\n}\n/**\n * Helper to send and persist UI messages. Accepts a map of component names to React components\n * as type argument to provide type safety. Will also write to the `options?.stateKey` state.\n *\n * @param config LangGraphRunnableConfig\n * @param options\n * @returns\n */\nexport declare const typedUi: <Decl extends Record<string, ElementType>>(config: {\n writer?: ((chunk: unknown) => void) | undefined;\n runId?: string | undefined;\n metadata?: Record<string, unknown> | undefined;\n tags?: string[] | undefined;\n runName?: string | undefined;\n configurable?: {\n [key: string]: unknown;\n __pregel_send?: ((writes_: [string, unknown][]) => void) | undefined;\n } | undefined;\n}, options?: {\n /** The key to write the UI messages to. Defaults to `ui`. */\n stateKey?: string | undefined;\n} | undefined) => {\n push: {\n <K extends keyof Decl & string>(message: {\n id?: string | undefined;\n name: K;\n props: { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K];\n metadata?: Record<string, unknown> | undefined;\n }, options?: {\n message?: MessageLike | undefined;\n merge?: boolean | undefined;\n } | undefined): UIMessage<K, { [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>;\n <K extends keyof Decl & string>(message: {\n id?: string | undefined;\n name: K;\n props: Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>;\n metadata?: Record<string, unknown> | undefined;\n }, options: {\n message?: MessageLike | undefined;\n merge: true;\n }): UIMessage<K, Partial<{ [K_1 in keyof Decl]: ComponentPropsWithoutRef<Decl[K_1]>; }[K]>>;\n };\n delete: (id: string) => RemoveUIMessage;\n items: (RemoveUIMessage | UIMessage<string, Record<string, unknown>>)[];\n};\nexport {};\n"],"mappings":"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"}
@@ -1,44 +1,56 @@
1
- import { v4 as uuidv4 } from "uuid";
1
+ import { v4 } from "uuid";
2
+
3
+ //#region src/react-ui/server/server.ts
2
4
  /**
3
- * Helper to send and persist UI messages. Accepts a map of component names to React components
4
- * as type argument to provide type safety. Will also write to the `options?.stateKey` state.
5
- *
6
- * @param config LangGraphRunnableConfig
7
- * @param options
8
- * @returns
9
- */
10
- export const typedUi = (config, options) => {
11
- const items = [];
12
- const stateKey = options?.stateKey ?? "ui";
13
- const runId = config.metadata?.run_id ?? config.runId;
14
- if (!runId)
15
- throw new Error("run_id is required");
16
- function handlePush(message, options) {
17
- const evt = {
18
- type: "ui",
19
- id: message?.id ?? uuidv4(),
20
- name: message?.name,
21
- props: message?.props,
22
- metadata: {
23
- merge: options?.merge || undefined,
24
- run_id: runId,
25
- tags: config.tags,
26
- name: config.runName,
27
- ...message?.metadata,
28
- ...(options?.message ? { message_id: options.message.id } : null),
29
- },
30
- };
31
- items.push(evt);
32
- config.writer?.(evt);
33
- config.configurable?.__pregel_send?.([[stateKey, evt]]);
34
- return evt;
35
- }
36
- const handleDelete = (id) => {
37
- const evt = { type: "remove-ui", id };
38
- items.push(evt);
39
- config.writer?.(evt);
40
- config.configurable?.__pregel_send?.([[stateKey, evt]]);
41
- return evt;
42
- };
43
- return { push: handlePush, delete: handleDelete, items };
5
+ * Helper to send and persist UI messages. Accepts a map of component names to React components
6
+ * as type argument to provide type safety. Will also write to the `options?.stateKey` state.
7
+ *
8
+ * @param config LangGraphRunnableConfig
9
+ * @param options
10
+ * @returns
11
+ */
12
+ const typedUi = (config, options) => {
13
+ const items = [];
14
+ const stateKey = options?.stateKey ?? "ui";
15
+ const runId = config.metadata?.run_id ?? config.runId;
16
+ if (!runId) throw new Error("run_id is required");
17
+ function handlePush(message, options$1) {
18
+ const evt = {
19
+ type: "ui",
20
+ id: message?.id ?? v4(),
21
+ name: message?.name,
22
+ props: message?.props,
23
+ metadata: {
24
+ merge: options$1?.merge || void 0,
25
+ run_id: runId,
26
+ tags: config.tags,
27
+ name: config.runName,
28
+ ...message?.metadata,
29
+ ...options$1?.message ? { message_id: options$1.message.id } : null
30
+ }
31
+ };
32
+ items.push(evt);
33
+ config.writer?.(evt);
34
+ config.configurable?.__pregel_send?.([[stateKey, evt]]);
35
+ return evt;
36
+ }
37
+ const handleDelete = (id) => {
38
+ const evt = {
39
+ type: "remove-ui",
40
+ id
41
+ };
42
+ items.push(evt);
43
+ config.writer?.(evt);
44
+ config.configurable?.__pregel_send?.([[stateKey, evt]]);
45
+ return evt;
46
+ };
47
+ return {
48
+ push: handlePush,
49
+ delete: handleDelete,
50
+ items
51
+ };
44
52
  };
53
+
54
+ //#endregion
55
+ export { typedUi };
56
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","names":["items: (UIMessage | RemoveUIMessage)[]","evt: UIMessage<K, PropMap[K] | Partial<PropMap[K]>>","uuidv4","options","evt: RemoveUIMessage"],"sources":["../../../src/react-ui/server/server.ts"],"sourcesContent":["import { v4 as uuidv4 } from \"uuid\";\nimport type { ComponentPropsWithoutRef, ElementType } from \"react\";\nimport type { RemoveUIMessage, UIMessage } from \"../types.js\";\n\ninterface MessageLike {\n id?: string;\n}\n\n/**\n * Helper to send and persist UI messages. Accepts a map of component names to React components\n * as type argument to provide type safety. Will also write to the `options?.stateKey` state.\n *\n * @param config LangGraphRunnableConfig\n * @param options\n * @returns\n */\nexport const typedUi = <Decl extends Record<string, ElementType>>(\n config: {\n writer?: (chunk: unknown) => void;\n runId?: string;\n metadata?: Record<string, unknown>;\n tags?: string[];\n runName?: string;\n configurable?: {\n __pregel_send?: (writes_: [string, unknown][]) => void;\n [key: string]: unknown;\n };\n },\n options?: {\n /** The key to write the UI messages to. Defaults to `ui`. */\n stateKey?: string;\n }\n) => {\n type PropMap = { [K in keyof Decl]: ComponentPropsWithoutRef<Decl[K]> };\n const items: (UIMessage | RemoveUIMessage)[] = [];\n const stateKey = options?.stateKey ?? \"ui\";\n\n const runId = (config.metadata?.run_id as string | undefined) ?? config.runId;\n if (!runId) throw new Error(\"run_id is required\");\n\n function handlePush<K extends keyof PropMap & string>(\n message: {\n id?: string;\n name: K;\n props: PropMap[K];\n metadata?: Record<string, unknown>;\n },\n options?: { message?: MessageLike; merge?: boolean }\n ): UIMessage<K, PropMap[K]>;\n\n function handlePush<K extends keyof PropMap & string>(\n message: {\n id?: string;\n name: K;\n props: Partial<PropMap[K]>;\n metadata?: Record<string, unknown>;\n },\n options: { message?: MessageLike; merge: true }\n ): UIMessage<K, Partial<PropMap[K]>>;\n\n function handlePush<K extends keyof PropMap & string>(\n message: {\n id?: string;\n name: K;\n props: PropMap[K] | Partial<PropMap[K]>;\n metadata?: Record<string, unknown>;\n },\n options?: { message?: MessageLike; merge?: boolean }\n ): UIMessage<K, PropMap[K] | Partial<PropMap[K]>> {\n const evt: UIMessage<K, PropMap[K] | Partial<PropMap[K]>> = {\n type: \"ui\" as const,\n id: message?.id ?? uuidv4(),\n name: message?.name,\n props: message?.props,\n metadata: {\n merge: options?.merge || undefined,\n run_id: runId,\n tags: config.tags,\n name: config.runName,\n ...message?.metadata,\n ...(options?.message ? { message_id: options.message.id } : null),\n },\n };\n items.push(evt);\n config.writer?.(evt);\n config.configurable?.__pregel_send?.([[stateKey, evt]]);\n return evt;\n }\n\n const handleDelete = (id: string): RemoveUIMessage => {\n const evt: RemoveUIMessage = { type: \"remove-ui\", id };\n items.push(evt);\n config.writer?.(evt);\n config.configurable?.__pregel_send?.([[stateKey, evt]]);\n return evt;\n };\n\n return { push: handlePush, delete: handleDelete, items };\n};\n"],"mappings":";;;;;;;;;;;AAgBA,MAAa,WACX,QAWA,YAIG;CAEH,MAAMA,QAAyC;CAC/C,MAAM,WAAW,SAAS,YAAY;CAEtC,MAAM,QAAS,OAAO,UAAU,UAAiC,OAAO;AACxE,KAAI,CAAC,MAAO,OAAM,IAAI,MAAM;CAsB5B,SAAS,WACP,SAMA,WACgD;EAChD,MAAMC,MAAsD;GAC1D,MAAM;GACN,IAAI,SAAS,MAAMC;GACnB,MAAM,SAAS;GACf,OAAO,SAAS;GAChB,UAAU;IACR,OAAOC,WAAS,SAAS;IACzB,QAAQ;IACR,MAAM,OAAO;IACb,MAAM,OAAO;IACb,GAAG,SAAS;IACZ,GAAIA,WAAS,UAAU,EAAE,YAAYA,UAAQ,QAAQ,OAAO;;;AAGhE,QAAM,KAAK;AACX,SAAO,SAAS;AAChB,SAAO,cAAc,gBAAgB,CAAC,CAAC,UAAU;AACjD,SAAO;;CAGT,MAAM,gBAAgB,OAAgC;EACpD,MAAMC,MAAuB;GAAE,MAAM;GAAa;;AAClD,QAAM,KAAK;AACX,SAAO,SAAS;AAChB,SAAO,cAAc,gBAAgB,CAAC,CAAC,UAAU;AACjD,SAAO;;AAGT,QAAO;EAAE,MAAM;EAAY,QAAQ;EAAc"}
@@ -1,42 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isUIMessage = isUIMessage;
4
- exports.isRemoveUIMessage = isRemoveUIMessage;
5
- exports.uiMessageReducer = uiMessageReducer;
1
+
2
+ //#region src/react-ui/types.ts
6
3
  function isUIMessage(message) {
7
- if (typeof message !== "object" || message == null)
8
- return false;
9
- if (!("type" in message))
10
- return false;
11
- return message.type === "ui";
4
+ if (typeof message !== "object" || message == null) return false;
5
+ if (!("type" in message)) return false;
6
+ return message.type === "ui";
12
7
  }
13
8
  function isRemoveUIMessage(message) {
14
- if (typeof message !== "object" || message == null)
15
- return false;
16
- if (!("type" in message))
17
- return false;
18
- return message.type === "remove-ui";
9
+ if (typeof message !== "object" || message == null) return false;
10
+ if (!("type" in message)) return false;
11
+ return message.type === "remove-ui";
19
12
  }
20
13
  function uiMessageReducer(state, update) {
21
- const events = Array.isArray(update) ? update : [update];
22
- let newState = state.slice();
23
- for (const event of events) {
24
- if (event.type === "remove-ui") {
25
- newState = newState.filter((ui) => ui.id !== event.id);
26
- continue;
27
- }
28
- const index = state.findIndex((ui) => ui.id === event.id);
29
- if (index !== -1) {
30
- newState[index] =
31
- typeof event.metadata === "object" &&
32
- event.metadata != null &&
33
- event.metadata.merge
34
- ? { ...event, props: { ...state[index].props, ...event.props } }
35
- : event;
36
- }
37
- else {
38
- newState.push(event);
39
- }
40
- }
41
- return newState;
14
+ const events = Array.isArray(update) ? update : [update];
15
+ let newState = state.slice();
16
+ for (const event of events) {
17
+ if (event.type === "remove-ui") {
18
+ newState = newState.filter((ui) => ui.id !== event.id);
19
+ continue;
20
+ }
21
+ const index = state.findIndex((ui) => ui.id === event.id);
22
+ if (index !== -1) newState[index] = typeof event.metadata === "object" && event.metadata != null && event.metadata.merge ? {
23
+ ...event,
24
+ props: {
25
+ ...state[index].props,
26
+ ...event.props
27
+ }
28
+ } : event;
29
+ else newState.push(event);
30
+ }
31
+ return newState;
42
32
  }
33
+
34
+ //#endregion
35
+ exports.isRemoveUIMessage = isRemoveUIMessage;
36
+ exports.isUIMessage = isUIMessage;
37
+ exports.uiMessageReducer = uiMessageReducer;
38
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.cjs","names":[],"sources":["../../src/react-ui/types.ts"],"sourcesContent":["export interface UIMessage<\n TName extends string = string,\n TProps extends Record<string, unknown> = Record<string, unknown>\n> {\n type: \"ui\";\n\n id: string;\n name: TName;\n props: TProps;\n metadata?: {\n merge?: boolean;\n run_id?: string;\n name?: string;\n tags?: string[];\n message_id?: string;\n [key: string]: unknown;\n };\n}\n\nexport interface RemoveUIMessage {\n type: \"remove-ui\";\n id: string;\n}\n\nexport function isUIMessage(message: unknown): message is UIMessage {\n if (typeof message !== \"object\" || message == null) return false;\n if (!(\"type\" in message)) return false;\n return message.type === \"ui\";\n}\n\nexport function isRemoveUIMessage(\n message: unknown\n): message is RemoveUIMessage {\n if (typeof message !== \"object\" || message == null) return false;\n if (!(\"type\" in message)) return false;\n return message.type === \"remove-ui\";\n}\n\nexport function uiMessageReducer(\n state: UIMessage[],\n update: UIMessage | RemoveUIMessage | (UIMessage | RemoveUIMessage)[]\n) {\n const events = Array.isArray(update) ? update : [update];\n let newState = state.slice();\n\n for (const event of events) {\n if (event.type === \"remove-ui\") {\n newState = newState.filter((ui) => ui.id !== event.id);\n continue;\n }\n\n const index = state.findIndex((ui) => ui.id === event.id);\n if (index !== -1) {\n newState[index] =\n typeof event.metadata === \"object\" &&\n event.metadata != null &&\n event.metadata.merge\n ? { ...event, props: { ...state[index].props, ...event.props } }\n : event;\n } else {\n newState.push(event);\n }\n }\n\n return newState;\n}\n"],"mappings":";;AAwBA,SAAgB,YAAY,SAAwC;AAClE,KAAI,OAAO,YAAY,YAAY,WAAW,KAAM,QAAO;AAC3D,KAAI,EAAE,UAAU,SAAU,QAAO;AACjC,QAAO,QAAQ,SAAS;;AAG1B,SAAgB,kBACd,SAC4B;AAC5B,KAAI,OAAO,YAAY,YAAY,WAAW,KAAM,QAAO;AAC3D,KAAI,EAAE,UAAU,SAAU,QAAO;AACjC,QAAO,QAAQ,SAAS;;AAG1B,SAAgB,iBACd,OACA,QACA;CACA,MAAM,SAAS,MAAM,QAAQ,UAAU,SAAS,CAAC;CACjD,IAAI,WAAW,MAAM;AAErB,MAAK,MAAM,SAAS,QAAQ;AAC1B,MAAI,MAAM,SAAS,aAAa;AAC9B,cAAW,SAAS,QAAQ,OAAO,GAAG,OAAO,MAAM;AACnD;;EAGF,MAAM,QAAQ,MAAM,WAAW,OAAO,GAAG,OAAO,MAAM;AACtD,MAAI,UAAU,GACZ,UAAS,SACP,OAAO,MAAM,aAAa,YAC1B,MAAM,YAAY,QAClB,MAAM,SAAS,QACX;GAAE,GAAG;GAAO,OAAO;IAAE,GAAG,MAAM,OAAO;IAAO,GAAG,MAAM;;MACrD;MAEN,UAAS,KAAK;;AAIlB,QAAO"}
@@ -0,0 +1,25 @@
1
+ //#region src/react-ui/types.d.ts
2
+ interface UIMessage<TName extends string = string, TProps extends Record<string, unknown> = Record<string, unknown>> {
3
+ type: "ui";
4
+ id: string;
5
+ name: TName;
6
+ props: TProps;
7
+ metadata?: {
8
+ merge?: boolean;
9
+ run_id?: string;
10
+ name?: string;
11
+ tags?: string[];
12
+ message_id?: string;
13
+ [key: string]: unknown;
14
+ };
15
+ }
16
+ interface RemoveUIMessage {
17
+ type: "remove-ui";
18
+ id: string;
19
+ }
20
+ declare function isUIMessage(message: unknown): message is UIMessage;
21
+ declare function isRemoveUIMessage(message: unknown): message is RemoveUIMessage;
22
+ declare function uiMessageReducer(state: UIMessage[], update: UIMessage | RemoveUIMessage | (UIMessage | RemoveUIMessage)[]): UIMessage<string, Record<string, unknown>>[];
23
+ //#endregion
24
+ export { RemoveUIMessage, UIMessage, isRemoveUIMessage, isUIMessage, uiMessageReducer };
25
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":["UIMessage","Record","TName","TProps","RemoveUIMessage","isUIMessage","isRemoveUIMessage","uiMessageReducer"],"sources":["../../src/react-ui/types.d.ts"],"sourcesContent":["export interface UIMessage<TName extends string = string, TProps extends Record<string, unknown> = Record<string, unknown>> {\n type: \"ui\";\n id: string;\n name: TName;\n props: TProps;\n metadata?: {\n merge?: boolean;\n run_id?: string;\n name?: string;\n tags?: string[];\n message_id?: string;\n [key: string]: unknown;\n };\n}\nexport interface RemoveUIMessage {\n type: \"remove-ui\";\n id: string;\n}\nexport declare function isUIMessage(message: unknown): message is UIMessage;\nexport declare function isRemoveUIMessage(message: unknown): message is RemoveUIMessage;\nexport declare function uiMessageReducer(state: UIMessage[], update: UIMessage | RemoveUIMessage | (UIMessage | RemoveUIMessage)[]): UIMessage<string, Record<string, unknown>>[];\n"],"mappings":";UAAiBA,wDAAwDC,0BAA0BA;EAAlFD,IAAAA,EAAAA,IAAAA;EAAS,EAAA,EAAA,MAAA;MAA+CC,EAG/DC,KAH+DD;OAA0BA,EAIxFE,MAJwFF;UAGzFC,CAAAA,EAAAA;IACCC,KAAAA,CAAAA,EAAAA,OAAAA;;IAUMC,IAAAA,CAAAA,EAAAA,MAAAA;IAIOC,IAAAA,CAAAA,EAAAA,MAAW,EAAA;IACXC,UAAAA,CAAAA,EAAAA,MAAiB;IACjBC,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAgB,OAAA;EAAA,CAAA;;AAA6BP,UANpDI,eAAAA,CAMoDJ;MAAYI,EAAAA,WAAAA;MAAmBJ,MAAAA;;AAAmDC,iBAF/HI,WAAAA,CAE+HJ,OAAAA,EAAAA,OAAAA,CAAAA,EAAAA,OAAAA,IAFrFD,SAEqFC;AAAlBD,iBAD7GM,iBAAAA,CAC6GN,OAAAA,EAAAA,OAAAA,CAAAA,EAAAA,OAAAA,IAD7DI,eAC6DJ;iBAA7GO,gBAAAA,QAAwBP,qBAAqBA,YAAYI,mBAAmBJ,YAAYI,qBAAqBJ,kBAAkBC"}
@@ -1,21 +1,25 @@
1
- export interface UIMessage<TName extends string = string, TProps extends Record<string, unknown> = Record<string, unknown>> {
2
- type: "ui";
3
- id: string;
4
- name: TName;
5
- props: TProps;
6
- metadata?: {
7
- merge?: boolean;
8
- run_id?: string;
9
- name?: string;
10
- tags?: string[];
11
- message_id?: string;
12
- [key: string]: unknown;
13
- };
1
+ //#region src/react-ui/types.d.ts
2
+ interface UIMessage<TName extends string = string, TProps extends Record<string, unknown> = Record<string, unknown>> {
3
+ type: "ui";
4
+ id: string;
5
+ name: TName;
6
+ props: TProps;
7
+ metadata?: {
8
+ merge?: boolean;
9
+ run_id?: string;
10
+ name?: string;
11
+ tags?: string[];
12
+ message_id?: string;
13
+ [key: string]: unknown;
14
+ };
14
15
  }
15
- export interface RemoveUIMessage {
16
- type: "remove-ui";
17
- id: string;
16
+ interface RemoveUIMessage {
17
+ type: "remove-ui";
18
+ id: string;
18
19
  }
19
- export declare function isUIMessage(message: unknown): message is UIMessage;
20
- export declare function isRemoveUIMessage(message: unknown): message is RemoveUIMessage;
21
- export declare function uiMessageReducer(state: UIMessage[], update: UIMessage | RemoveUIMessage | (UIMessage | RemoveUIMessage)[]): UIMessage<string, Record<string, unknown>>[];
20
+ declare function isUIMessage(message: unknown): message is UIMessage;
21
+ declare function isRemoveUIMessage(message: unknown): message is RemoveUIMessage;
22
+ declare function uiMessageReducer(state: UIMessage[], update: UIMessage | RemoveUIMessage | (UIMessage | RemoveUIMessage)[]): UIMessage<string, Record<string, unknown>>[];
23
+ //#endregion
24
+ export { RemoveUIMessage, UIMessage, isRemoveUIMessage, isUIMessage, uiMessageReducer };
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":["UIMessage","Record","TName","TProps","RemoveUIMessage","isUIMessage","isRemoveUIMessage","uiMessageReducer"],"sources":["../../src/react-ui/types.d.ts"],"sourcesContent":["export interface UIMessage<TName extends string = string, TProps extends Record<string, unknown> = Record<string, unknown>> {\n type: \"ui\";\n id: string;\n name: TName;\n props: TProps;\n metadata?: {\n merge?: boolean;\n run_id?: string;\n name?: string;\n tags?: string[];\n message_id?: string;\n [key: string]: unknown;\n };\n}\nexport interface RemoveUIMessage {\n type: \"remove-ui\";\n id: string;\n}\nexport declare function isUIMessage(message: unknown): message is UIMessage;\nexport declare function isRemoveUIMessage(message: unknown): message is RemoveUIMessage;\nexport declare function uiMessageReducer(state: UIMessage[], update: UIMessage | RemoveUIMessage | (UIMessage | RemoveUIMessage)[]): UIMessage<string, Record<string, unknown>>[];\n"],"mappings":";UAAiBA,wDAAwDC,0BAA0BA;EAAlFD,IAAAA,EAAAA,IAAAA;EAAS,EAAA,EAAA,MAAA;MAA+CC,EAG/DC,KAH+DD;OAA0BA,EAIxFE,MAJwFF;UAGzFC,CAAAA,EAAAA;IACCC,KAAAA,CAAAA,EAAAA,OAAAA;;IAUMC,IAAAA,CAAAA,EAAAA,MAAAA;IAIOC,IAAAA,CAAAA,EAAAA,MAAW,EAAA;IACXC,UAAAA,CAAAA,EAAAA,MAAiB;IACjBC,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAgB,OAAA;EAAA,CAAA;;AAA6BP,UANpDI,eAAAA,CAMoDJ;MAAYI,EAAAA,WAAAA;MAAmBJ,MAAAA;;AAAmDC,iBAF/HI,WAAAA,CAE+HJ,OAAAA,EAAAA,OAAAA,CAAAA,EAAAA,OAAAA,IAFrFD,SAEqFC;AAAlBD,iBAD7GM,iBAAAA,CAC6GN,OAAAA,EAAAA,OAAAA,CAAAA,EAAAA,OAAAA,IAD7DI,eAC6DJ;iBAA7GO,gBAAAA,QAAwBP,qBAAqBA,YAAYI,mBAAmBJ,YAAYI,qBAAqBJ,kBAAkBC"}