@xbbg/langgraph 1.4.1 → 1.4.3

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.
package/README.md CHANGED
@@ -4,10 +4,16 @@ LangChain/LangGraph-compatible Bloomberg tools backed by [`@xbbg/core`](../js-xb
4
4
 
5
5
  This package is a reusable tool adapter. It is not a chat app, HTTP server, MCP server, browser package, or agent framework.
6
6
 
7
+ ## Status
8
+
9
+ Supported server-side LangChain/LangGraph adapter for Bloomberg-connected Node.js 24+ environments. `@xbbg/langgraph` is published alongside `@xbbg/core`, uses the same semver release cadence, and keeps Bloomberg connectivity in the core Node binding while exposing bounded tools, structured artifacts, and model-facing guidance for agent runtimes.
10
+
7
11
  ## Prerequisites
8
12
 
9
13
  Bloomberg connectivity is still provided by `@xbbg/core`: an installed Bloomberg Terminal/Desktop API, B-PIPE, SAPI, or ZFP setup plus Bloomberg SDK runtime libraries must be available on the server running the tools.
10
14
 
15
+ The package targets Node.js 24+ and runs on the server side. It is not a browser package; frontends should call an application backend that owns Bloomberg connectivity.
16
+
11
17
  ## Install
12
18
 
13
19
  Tool package only:
package/dist/index.js CHANGED
@@ -1176,10 +1176,19 @@ function columnsSchema(options) {
1176
1176
  }
1177
1177
  function calculateSchema(options) {
1178
1178
  return z__namespace.object({
1179
- levels: z__namespace.array(z__namespace.number().nullable()).min(1).max(options.maxFields).describe("Reference level values."),
1179
+ levels: z__namespace.array(z__namespace.number().nullable()).min(1).max(options.maxFields).describe("Hierarchy level values; supported levels are 1, 2, or null."),
1180
1180
  operation: z__namespace.literal("calculate_level_percentages").describe("Numeric helper operation to run."),
1181
1181
  values: z__namespace.array(z__namespace.number().nullable()).min(1).max(options.maxFields).describe("Observed values.")
1182
1182
  }).strict().superRefine((input, ctx) => {
1183
+ input.levels.forEach((level, index) => {
1184
+ if (level !== null && level !== 1 && level !== 2) {
1185
+ ctx.addIssue({
1186
+ code: z__namespace.ZodIssueCode.custom,
1187
+ message: "levels must contain only 1, 2, or null",
1188
+ path: ["levels", index]
1189
+ });
1190
+ }
1191
+ });
1183
1192
  if (input.values.length !== input.levels.length) {
1184
1193
  ctx.addIssue({
1185
1194
  code: z__namespace.ZodIssueCode.custom,