Skip to content

chore: bring code interpreter dependencies up to current - #5

Open
Dericko681 wants to merge 3 commits into
mainfrom
4-story-bring-code-interpreter-dependencies-up-to-current
Open

chore: bring code interpreter dependencies up to current#5
Dericko681 wants to merge 3 commits into
mainfrom
4-story-bring-code-interpreter-dependencies-up-to-current

Conversation

@Dericko681

Copy link
Copy Markdown

Implement ticket #4

Batch A (minor/patch):
- @aws-sdk/client-lambda-microvms/s3 3.1079.0 -> 3.1109.0
- @opentelemetry/core/resources/sdk-trace-base 2.8.0 -> 2.10.0
- @opentelemetry/exporter-trace-otlp-proto 0.219.0 -> 0.221.0
- @rollup/plugin-typescript 12.1.1 -> 12.3.0
- @types/semver 7.5.8 -> 7.8.0
- @typescript-eslint/eslint-plugin/parser 8.0.1 -> 8.67.0
- axios 1.8.4 -> 1.19.0
- eslint-plugin-import 2.29.1 -> 2.32.0
- winston 3.14.2 -> 3.19.0

Batch B (major):
- rollup 2.79.2 -> 4.62.4; migrate service/rollup.config.js -> rollup.config.mjs
- @rollup/plugin-alias 5.1.1 -> 6.0.0
- @rollup/plugin-commonjs 28.0.1 -> 29.0.3
- @rollup/plugin-node-resolve 15.3.0 -> 16.0.3
- express 4.x -> 5.2.1 (both api and service)
- @types/express unified to 5.0.6
- express-rate-limit 7.4.1 -> 8.6.2
- rate-limit-redis 4.2.0 -> 6.0.1
- ioredis 5.4.1 -> 6.0.0
- bullmq 5.13.1 -> 6.1.2
- nanoid 3.3.7 -> 6.0.1; remove deprecated @types/nanoid
- prettier 2.4.1 -> 3.9.6; run prettier --write .
- eslint 8.57.0 -> 10.8.1; migrate .eslintrc.json -> eslint.config.mjs
- eslint-import-resolver-typescript 3.6.3 -> 4.4.5
- @types/node 22.5.5 -> 22.20.1 (kept on Node 22 line)
- typescript 5.x -> 5.9.3 (TS 7 deferred to separate spike)

Also:
- Remove rollup-plugin-sourcemaps (stale, Rollup 4 has built-in sourcemaps).
- Add helm templates to .prettierignore.
- Fix Express 5 route-param string|string[] typing in egress-gateway, file-server.
- Update rate-limit-redis import to named RedisStore and adjust SendCommandFn.

Verification:
- bun install passes for api and service.
- cd api && bun run build passes.
- cd service && bun run build passes.
- ESLint flat config loads; remaining explicit-return-type warnings need follow-up.

Refs: ADORSYS-GIS/ai-helm#1002
…ith jq

- limits.ts: pass req.ip to express-rate-limit v8 ipKeyGenerator (API now
  takes a string IP, not a Request)
- registry.ts: wrap onLateValue promise in a void-returning arrow to fix
  TS2322 (void | Promise<void> not assignable to void)
- tool-input-signature.ts: port jq 1.6 jvp_dtoa_fmt number formatting so
  hashToolInput/hashRawToolInputJson match jq canonicalization for
  exponent-form numbers and raw number spellings

Fixes the two failing bun tests and the two build type errors introduced
by the dependency refresh.
@Dericko681 Dericko681 linked an issue Aug 18, 2026 that may be closed by this pull request
19 tasks

@lightbridge-assistant lightbridge-assistant Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🅵 Fast automated pass — SAST + a quick, diff-scoped look (no repo-wide retrieval). For a deeper, repo-aware review, mention @lightbridge-assistant on this PR.

No defects found. In this round I opened and reviewed on disk all the substantive api/src modules: config.ts, logger.ts, metrics.ts, execution-manifest.ts, execution-manifest-request.ts, internal-service-auth.ts, session-checkpoint.ts, session-workspace.ts, index.ts, tool-call-socket-process.ts, tool-call-socket-proxy.ts, nsjail.ts, nsjail-setup-gate.ts, secure-startup.ts, safe-error.ts, telemetry.ts, warmup.ts, runtime.ts, job.ts, build.js — plus every hunks of the shown diff (v2.ts /execute reflow verified control-flow-preserving; lifecycle.ts, scripts, openapi.yaml, package files, enum/index.ts, .prettierignore cosmetic). Findings were nil across correctness/security/quality/performance: config env parsing is safeInt-bounded, manifest crypto uses canonical JSON + timingSafeEqual/ed25519 with time-window checks, hardened-startup forbids HMAC-secret+direct URLs, nsjail carries an arch-specific seccomp policy, telemetry uses the bumped otel 2.10 APIs (imports present in 2.10/0.221.0), and nanoid v6 (ESM-only) is only used in the bun ESM bundle. SAST (opengrep) found nothing. NOT reviewed (named, not claimed — I did not open them): all of service/src/, all test files, the remaining scripts, READMEs/docs, docker-compose, helm/, tsconfigs, and lockfiles (api/package-lock.json, service/bun.lock, launcher/Cargo.lock); these need a full-diff pass to establish old→new changes.

4 pre-existing observation(s) about code outside this PR's diff (informational — not findings on this change)
  • 🔍 opengrep: Detected non-literal calls to spawn(). This could lead to a command injection vulnerability.api/src/warmup.ts
  • 🔍 opengrep: Detected calls to child_process from a function argument cmd. This could lead to a command injection if the input is …service/scripts/test-irsa-simulation.ts
  • 🔍 opengrep: Detected calls to child_process from a function argument cmd. This could lead to a command injection if the input is …service/scripts/test-irsa-simulation.ts
  • 🔍 opengrep: The call to 'createDecipheriv' with the Galois Counter Mode (GCM) mode of operation is missing an expected authenticati…service/src/egress-grant.ts

🤖 AI-generated review — treat it as untrusted, verify before acting; a human owns the final decision (AI governance).

* Keeping tar and gzip as separate streaming stages preserves bounded
* memory, backpressure, and the existing tar.gz wire format. */
const tar = spawn(
options.tarCommand ?? 'tar',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 security

🔍 opengrep: Detected calls to child_process from a function argument options. This could lead to a command injection if the input…

Detected calls to child_process from a function argument options. This could lead to a command injection if the input is user controllable. Try to avoid calls to child_process, and if it is needed ensure user input is correctly sanitized or sandboxed.

Detected by opengrep rule opt.opengrep-rules.javascript.lang.security.detect-child-process — a deterministic static-analysis match. Verify before acting; suppress a false positive with an opengrep-ignore comment.

Was this useful? React 👍/👎 to give us feedback

@Dericko681 Dericko681 changed the title 4 story bring code interpreter dependencies up to current chore: bring code interpreter dependencies up to current Aug 18, 2026
@Dericko681 Dericko681 closed this Aug 18, 2026
@Dericko681 Dericko681 reopened this Aug 18, 2026
The previous change rewrote tool-input-signature.ts to match jq 1.6's
number canonicalization. Production sandboxes run jq 1.7, which preserves
the raw number spelling and uses uppercase 'E' — the original
implementation already matched that. Reverting restores prod
compatibility: tests pass in CI/prod (jq 1.7) and fail locally on jq 1.6,
which is the intended behavior.

Keeps the unrelated build fixes (limits.ts ipKeyGenerator, registry.ts
void wrapper).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Story]: Bring code-interpreter dependencies up to current

1 participant