diff --git a/argi-studio/agent-chat-ui/package.json b/argi-studio/agent-chat-ui/package.json index a79db31e5..7abad4c8b 100644 --- a/argi-studio/agent-chat-ui/package.json +++ b/argi-studio/agent-chat-ui/package.json @@ -58,7 +58,7 @@ "tailwindcss-animate": "^1.0.7", "use-stick-to-bottom": "^1.0.46", "uuid": "^11.1.1", - "zod": "^3.24.2" + "zod": "^4.6.7" }, "devDependencies": { "@eslint/js": "^9.19.0", @@ -104,7 +104,9 @@ "source-map-js": "^1.2.2", "tar": "^7.5.22", "uuid": "^11.1.1", - "ws": "^8.20.1" + "ws": "^8.20.1", + "zod": "^4.6.7", + "zod-to-json-schema": "^3.25.2" }, "pnpm": { "overrides": { @@ -130,7 +132,9 @@ "source-map-js": "1.2.2", "tar": "7.5.22", "uuid": "11.1.1", - "ws": "8.20.1" + "ws": "8.20.1", + "zod": "4.6.7", + "zod-to-json-schema": "3.25.2" } }, "packageManager": "pnpm@10.5.1" diff --git a/argi-studio/agent-chat-ui/pnpm-lock.yaml b/argi-studio/agent-chat-ui/pnpm-lock.yaml index 088f522b7..afc151632 100644 --- a/argi-studio/agent-chat-ui/pnpm-lock.yaml +++ b/argi-studio/agent-chat-ui/pnpm-lock.yaml @@ -28,6 +28,8 @@ overrides: tar: 7.5.22 uuid: 11.1.1 ws: 8.20.1 + zod: 4.6.7 + zod-to-json-schema: 3.25.2 importers: @@ -35,13 +37,13 @@ importers: dependencies: '@langchain/core': specifier: ^0.3.80 - version: 0.3.80(openai@4.100.0(zod@3.24.4)) + version: 0.3.80(openai@4.100.0(zod@4.6.7)) '@langchain/langgraph': specifier: ^0.2.63 - version: 0.2.72(@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4)))(react@19.1.0)(zod-to-json-schema@3.24.5(zod@3.24.4)) + version: 0.2.72(@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7)))(react@19.1.0)(zod-to-json-schema@3.25.2(zod@4.6.7)) '@langchain/langgraph-sdk': specifier: ^0.1.0 - version: 0.1.0(@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 0.1.0(@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-avatar': specifier: ^1.1.3 version: 1.1.9(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -142,8 +144,8 @@ importers: specifier: 11.1.1 version: 11.1.1 zod: - specifier: ^3.24.2 - version: 3.24.4 + specifier: 4.6.7 + version: 4.6.7 devDependencies: '@eslint/js': specifier: ^9.19.0 @@ -705,7 +707,7 @@ packages: engines: {node: '>=18'} peerDependencies: '@langchain/core': ^0.3.80 - zod-to-json-schema: ^3.x + zod-to-json-schema: 3.25.2 peerDependenciesMeta: zod-to-json-schema: optional: true @@ -3124,7 +3126,7 @@ packages: hasBin: true peerDependencies: ws: 8.20.1 - zod: ^3.23.8 + zod: 4.6.7 peerDependenciesMeta: ws: optional: true @@ -3873,16 +3875,13 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} + zod-to-json-schema@3.25.2: + resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} peerDependencies: - zod: ^3.24.1 + zod: 4.6.7 - zod@3.24.4: - resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} - - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + zod@4.6.7: + resolution: {integrity: sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -4210,20 +4209,20 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4))': + '@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7))': dependencies: '@cfworker/json-schema': 4.1.1 ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.20 - langsmith: 0.6.0(openai@4.100.0(zod@3.24.4)) + langsmith: 0.6.0(openai@4.100.0(zod@4.6.7)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 11.1.1 - zod: 3.25.76 - zod-to-json-schema: 3.24.5(zod@3.25.76) + zod: 4.6.7 + zod-to-json-schema: 3.25.2(zod@4.6.7) transitivePeerDependencies: - '@opentelemetry/api' - '@opentelemetry/exporter-trace-otlp-proto' @@ -4231,41 +4230,41 @@ snapshots: - openai - ws - '@langchain/langgraph-checkpoint@0.0.17(@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4)))': + '@langchain/langgraph-checkpoint@0.0.17(@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7)))': dependencies: - '@langchain/core': 0.3.80(openai@4.100.0(zod@3.24.4)) + '@langchain/core': 0.3.80(openai@4.100.0(zod@4.6.7)) uuid: 11.1.1 - '@langchain/langgraph-sdk@0.0.73(@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4)))(react@19.1.0)': + '@langchain/langgraph-sdk@0.0.73(@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7)))(react@19.1.0)': dependencies: '@types/json-schema': 7.0.15 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 11.1.1 optionalDependencies: - '@langchain/core': 0.3.80(openai@4.100.0(zod@3.24.4)) + '@langchain/core': 0.3.80(openai@4.100.0(zod@4.6.7)) react: 19.1.0 - '@langchain/langgraph-sdk@0.1.0(@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@langchain/langgraph-sdk@0.1.0(@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@types/json-schema': 7.0.15 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 11.1.1 optionalDependencies: - '@langchain/core': 0.3.80(openai@4.100.0(zod@3.24.4)) + '@langchain/core': 0.3.80(openai@4.100.0(zod@4.6.7)) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@langchain/langgraph@0.2.72(@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4)))(react@19.1.0)(zod-to-json-schema@3.24.5(zod@3.24.4))': + '@langchain/langgraph@0.2.72(@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7)))(react@19.1.0)(zod-to-json-schema@3.25.2(zod@4.6.7))': dependencies: - '@langchain/core': 0.3.80(openai@4.100.0(zod@3.24.4)) - '@langchain/langgraph-checkpoint': 0.0.17(@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4))) - '@langchain/langgraph-sdk': 0.0.73(@langchain/core@0.3.80(openai@4.100.0(zod@3.24.4)))(react@19.1.0) + '@langchain/core': 0.3.80(openai@4.100.0(zod@4.6.7)) + '@langchain/langgraph-checkpoint': 0.0.17(@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7))) + '@langchain/langgraph-sdk': 0.0.73(@langchain/core@0.3.80(openai@4.100.0(zod@4.6.7)))(react@19.1.0) uuid: 11.1.1 - zod: 3.24.4 + zod: 4.6.7 optionalDependencies: - zod-to-json-schema: 3.24.5(zod@3.24.4) + zod-to-json-schema: 3.25.2(zod@4.6.7) transitivePeerDependencies: - react @@ -6394,11 +6393,11 @@ snapshots: dependencies: next: 15.5.28(@types/node@22.15.18)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - langsmith@0.6.0(openai@4.100.0(zod@3.24.4)): + langsmith@0.6.0(openai@4.100.0(zod@4.6.7)): dependencies: p-queue: 6.6.2 optionalDependencies: - openai: 4.100.0(zod@3.24.4) + openai: 4.100.0(zod@4.6.7) language-subtag-registry@0.3.23: {} @@ -7029,7 +7028,7 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - openai@4.100.0(zod@3.24.4): + openai@4.100.0(zod@4.6.7): dependencies: '@types/node': 18.19.100 '@types/node-fetch': 2.6.12 @@ -7039,7 +7038,7 @@ snapshots: formdata-node: 4.4.1 node-fetch: 2.7.0 optionalDependencies: - zod: 3.24.4 + zod: 4.6.7 transitivePeerDependencies: - encoding optional: true @@ -7941,17 +7940,10 @@ snapshots: yocto-queue@0.1.0: {} - zod-to-json-schema@3.24.5(zod@3.24.4): + zod-to-json-schema@3.25.2(zod@4.6.7): dependencies: - zod: 3.24.4 - optional: true - - zod-to-json-schema@3.24.5(zod@3.25.76): - dependencies: - zod: 3.25.76 - - zod@3.24.4: {} + zod: 4.6.7 - zod@3.25.76: {} + zod@4.6.7: {} zwitch@2.0.4: {} diff --git a/tools/scripts/verify-clear-room.sh b/tools/scripts/verify-clear-room.sh index 651327c9b..d18bf570c 100755 --- a/tools/scripts/verify-clear-room.sh +++ b/tools/scripts/verify-clear-room.sh @@ -36,28 +36,30 @@ grep -q 'argi-workflow-graph-core' "${REPO_ROOT}/argi-o for module in argi-agent/argi-agent-api argi-agent/argi-agent-core \ argi-orchestration/argi-workflow-core argi-runtime/argi-runtime-api \ argi-runtime/argi-runtime-core; do - if rg -n 'argi-workflow-graph-core' "${REPO_ROOT}/${module}/pom.xml"; then + if grep -n 'argi-workflow-graph-core' "${REPO_ROOT}/${module}/pom.xml"; then fail "${module} must not depend on Workflow Graph Core" fi done -legacy_production_refs="$(rg -l 'argi-graph-core' "${REPO_ROOT}" \ - --glob '!AGENTS.md' \ - --glob '!docs/**' \ - --glob '!argi-orchestration/argi-workflow-graph-core/README.md' \ - --glob '!argi-orchestration/argi-workflow-graph-core/src/test/**' \ - --glob '!benchmark/**' \ - --glob '!example/**' \ - --glob '!tools/scripts/verify-clear-room.sh' \ - --glob '!**/target/**' \ - --glob '!**/.flattened-pom.xml' || true)" +legacy_production_refs="$(git -C "${REPO_ROOT}" grep -l 'argi-graph-core' -- \ + . \ + ':(exclude)AGENTS.md' \ + ':(exclude)docs/**' \ + ':(exclude)argi-orchestration/argi-workflow-graph-core/README.md' \ + ':(exclude)argi-orchestration/argi-workflow-graph-core/src/test/**' \ + ':(exclude)benchmark/**' \ + ':(exclude)example/**' \ + ':(exclude)tools/scripts/verify-clear-room.sh' \ + ':(exclude)**/target/**' \ + ':(exclude)**/.flattened-pom.xml' || true)" [[ -z "${legacy_production_refs}" ]] || fail "legacy artifact references remain:${legacy_production_refs}" -rg -q 'GRAPH\("graph"\)' "${REPO_ROOT}/argi-runtime/argi-runtime-api/src/main/java" \ +git -C "${REPO_ROOT}" grep -q 'GRAPH("graph")' -- argi-runtime/argi-runtime-api/src/main/java \ || fail "DefinitionKind.GRAPH wire name is not preserved" -rg -q 'graphId|graphVersion' "${REPO_ROOT}/argi-runtime/argi-runtime-core/src/main/java" \ +git -C "${REPO_ROOT}" grep -q -E 'graphId|graphVersion' -- argi-runtime/argi-runtime-core/src/main/java \ || fail "graph definition identifiers are not documented in runtime code" -rg -q 'ARGI_CHAT_MESSAGE|LegacyChatRecordSupport' "${REPO_ROOT}/argi-orchestration/argi-workflow-graph-core/src/main" \ +git -C "${REPO_ROOT}" grep -q -E 'ARGI_CHAT_MESSAGE|LegacyChatRecordSupport' \ + -- argi-orchestration/argi-workflow-graph-core/src/main \ || fail "Loop serializer compatibility boundary is missing" for document in clear-room-baseline.md checkpoint-compatibility.md api-boundaries.md; do @@ -66,12 +68,12 @@ for document in clear-room-baseline.md checkpoint-compatibility.md api-boundarie done if [[ -d "${REPO_ROOT}/benchmark" ]]; then - if rg -n 'argi-graph-core' "${REPO_ROOT}/benchmark" --glob '*.xml' --glob '!**/target/**'; then + if grep -R -n --include='*.xml' --exclude-dir=target 'argi-graph-core' "${REPO_ROOT}/benchmark"; then fail "benchmark submodule still references argi-graph-core" fi fi if [[ -d "${REPO_ROOT}/example" ]]; then - if rg -n 'argi-graph-core' "${REPO_ROOT}/example" --glob '*.xml' --glob '!**/target/**'; then + if grep -R -n --include='*.xml' --exclude-dir=target 'argi-graph-core' "${REPO_ROOT}/example"; then fail "example submodule still references argi-graph-core" fi fi