Skip to content

Bump diff from 4.0.2 to 4.0.4#7

Merged
kaiapeacock-eng merged 1 commit intomainfrom
dependabot/npm_and_yarn/diff-4.0.4
Mar 16, 2026
Merged

Bump diff from 4.0.2 to 4.0.4#7
kaiapeacock-eng merged 1 commit intomainfrom
dependabot/npm_and_yarn/diff-4.0.4

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Mar 10, 2026

Bumps diff from 4.0.2 to 4.0.4.

Changelog

Sourced from diff's changelog.

v4.0.4 - January 2026

Only change from 4.0.2 is a backport of the fix to GHSA-73rr-hh4g-fpgx.

v4.0.3 (deprecated)

Accidental release - do not use.

Commits
Maintainer changes

This version was pushed to npm by explodingcabbage, a new releaser for diff since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [diff](https://github.com/kpdecker/jsdiff) from 4.0.2 to 4.0.4.
- [Changelog](https://github.com/kpdecker/jsdiff/blob/master/release-notes.md)
- [Commits](kpdecker/jsdiff@v4.0.2...v4.0.4)

---
updated-dependencies:
- dependency-name: diff
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Mar 10, 2026
@kaiapeacock-eng kaiapeacock-eng merged commit e6ee32b into main Mar 16, 2026
3 of 9 checks passed
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/diff-4.0.4 branch March 16, 2026 16:31
bird-m added a commit that referenced this pull request Apr 15, 2026
Review-panel #1 (Severe): Remove competing browser tab in requires_auth
path. The requires_auth branch opened the backend's redirect URL via
opn() then fell through to performAmplitudeAuth which opened a second
browser tab with mismatched PKCE. Now we skip the backend URL and let
performAmplitudeAuth handle the entire flow. Added TODO to evaluate
using the backend URL in a follow-up.

Review-panel #2 (Critical): Init feature flags in agent/CI paths so
_headlessSignupEnabled can be true. Previously the flag was only set in
the TUI interactive path, making the entire agent/CI headless signup
block unreachable dead code.

Review-panel #3 (Important): Pre-populate HeadlessSignupScreen from CLI
--email/--full-name flags. Auto-submit if both are present.

Review-panel #4 (Important): Redact email in agent NDJSON log output
to match the redaction pattern in headless-signup.ts.

Review-panel #7 (Important): Split fullName into first_name/last_name
on first space before sending to provisioning endpoint.

Review-panel #9 (Nit): Replace non-null assertions on
headlessSignupEmail/headlessSignupFullName with an explicit guard.

Review-panel #10 (Nit): Extract completeSignupTokenExchange into
headless-signup.ts as a shared helper used by both the agent/CI and
TUI code paths, reducing duplication and drift risk.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bird-m bird-m mentioned this pull request Apr 15, 2026
3 tasks
bird-m added a commit that referenced this pull request Apr 16, 2026
fs.watch can fire multiple times per write. Cache the previous raw
content and skip the marked.parse call when it hasn't changed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
bird-m added a commit that referenced this pull request Apr 16, 2026
Log what the server returned, not why. The oauth and requires_auth
response types don't necessarily imply new vs existing user.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
bird-m added a commit that referenced this pull request Apr 16, 2026
Only assign session.selectedOrgId/selectedWorkspaceId/etc. once credentials
are actually populated — otherwise a failed API key resolve leaves the
session pointing at an org we couldn't use. Also log "signup complete" only
when credentials were actually set, and emit an error otherwise.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kelsonpw added a commit that referenced this pull request Apr 17, 2026
… picker)

Batch of bird-m and Bugbot findings from PR #112:

#1 claudeCodeMode default mismatch (medium, flagged 3×):
  addMCPServerToClientsStep silently defaulted to 'plugin' while
  mcp-installer.ts defaulted to 'mcp'. Non-TUI fallback via bin.ts
  could install the plugin with no user prompt. Aligned both to 'mcp'
  as the safer default — plugin is interactive-only now.

#3 remove flow can't uninstall plugin (medium, flagged 2×):
  getInstalledClients only ever instantiated ClaudeCodeMCPClient.
  After plugin install removes the bare `amplitude` MCP entry,
  isServerInstalled returned false and `wizard mcp remove` silently
  skipped Claude Code. Added an explicit ClaudeCodePluginClient probe
  before falling through to the MCP check.

#4 non-TUI `local` flag ignored for plugin path (low, Bugbot):
  addMCPServerToClientsStep now forces 'mcp' mode whenever
  local=true, matching the TUI's behavior. The plugin hardcodes the
  prod URL and can't serve localhost.

#5 `as unknown as RawMCPClient[]` cast (nit, bird-m):
  resolveClientsForMode returns MCPClient[] directly; the local
  RawMCPClient interface was a holdover. Dropped the cast and removed
  the unused interface — install loop now type-checks against
  MCPClient directly.

#6 older Claude CLIs fail opaquely (nit, bird-m):
  ClaudeCodePluginClient.isClientSupported now probes `claude plugin
  --help` in addition to `--version`. resolveClientsForMode is async
  and checks plugin support before swapping — older CLIs quietly keep
  ClaudeCodeMCPClient instead of failing during `marketplace add`.

#7 single-Claude-Code hid plugin/MCP choice (medium, Bugbot):
  detected.length === 1 routed to Phase.Ask, which doesn't show the
  split picker. Now: if the lone detected tool is Claude Code and no
  escape hatch is set, route to Phase.Pick so the user sees plugin vs
  MCP rows.

#8 resolveSelection misleading default (low, Bugbot):
  wantsPlugin || !wantsMcp ? 'plugin' : 'mcp' returned 'plugin' when
  the user unchecked both Claude Code rows. Simplified to
  wantsPlugin ? 'plugin' : 'mcp' — explicit semantics, still correct
  since downstream guards the Claude-Code-absent case.

#9 Codex Windows detection (low, Bugbot):
  `command -v` is POSIX-only; Windows never matched. Use `where codex`
  on win32, `command -v codex` on POSIX. Take the first line since
  `where` may return multiple paths. Narrowed the bundled-app
  exclusion to macOS only (Conductor-specific).

#10 multi-picker uncheck-all dead code (medium, Bugbot):
  MultiPickerMenu's Enter handler fell back to the focused row when
  selected was empty, so a user who unchecked every pre-selected row
  got one install instead of a skip. Now: if defaultSelected was
  provided, an empty set means deliberate — pass [] through to the
  caller. Also fixed lexicographic index sort → numeric.

#? dev script env var at build-time (low, Bugbot):
  `AMPLITUDE_WIZARD_DEV=1 pnpm build` only scoped the var to the
  build subprocess, not the globally-linked binary. Removed from the
  `dev` script since it was ineffective there — `try` still sets it
  at runtime where it actually works.

Addressed in comment, no code change: #2 non-atomic settings.json
write — already replaced with `claude plugin marketplace add` CLI in
commit 4679fc4. No direct file write remains.

974 tests pass, lint clean, smoke test passes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kelsonpw added a commit that referenced this pull request Apr 25, 2026
Two underused features of @anthropic-ai/claude-agent-sdk@0.2.97 surfaced
by the library audit, both of which improve agent run quality.

PreCompact hook
- New createPreCompactHook() factory in agent-interface.ts; wrapped in
  try/catch so a throwing handler can never abort the compaction.
- runAgent gains an onPreCompact callback in its config object. When
  provided, the SDK's PreCompact hook is wired via buildHooksConfig.
- agent-runner.ts plugs in a handler that (a) refreshes the on-disk
  session checkpoint via saveCheckpoint(session) so a compaction crash
  leaves the user with a resumable state, and (b) emits an analytics
  event ('agent compaction triggered') with the trigger ('manual' |
  'auto'), integration, and detected framework for cost/quality analysis.
- 4 new unit tests cover trigger normalization and error swallowing.

Extended thinking
- Adds SDKThinkingConfig to the local SDK options mirror so we keep
  type safety despite the dynamic ESM/CJS import.
- Sets thinking: { type: 'enabled', budgetTokens: 3000 } on the agent
  run. Sonnet 4.6 doesn't support 'adaptive', so we use 'enabled' with
  an explicit per-turn budget. This budget is a per-turn ceiling, not a
  per-run total — most turns won't use it. The instrumentation-planning
  phase before confirm_event_plan benefits the most.

Note: MCP resources (audit task #7) is not feasible at this SDK
version. createSdkMcpServer in 0.2.97 only accepts { name, version,
tools } — no resources field. Deferred until SDK bump.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kelsonpw added a commit that referenced this pull request Apr 25, 2026
* feat(agent): wire PreCompact hook + enable extended thinking

Two underused features of @anthropic-ai/claude-agent-sdk@0.2.97 surfaced
by the library audit, both of which improve agent run quality.

PreCompact hook
- New createPreCompactHook() factory in agent-interface.ts; wrapped in
  try/catch so a throwing handler can never abort the compaction.
- runAgent gains an onPreCompact callback in its config object. When
  provided, the SDK's PreCompact hook is wired via buildHooksConfig.
- agent-runner.ts plugs in a handler that (a) refreshes the on-disk
  session checkpoint via saveCheckpoint(session) so a compaction crash
  leaves the user with a resumable state, and (b) emits an analytics
  event ('agent compaction triggered') with the trigger ('manual' |
  'auto'), integration, and detected framework for cost/quality analysis.
- 4 new unit tests cover trigger normalization and error swallowing.

Extended thinking
- Adds SDKThinkingConfig to the local SDK options mirror so we keep
  type safety despite the dynamic ESM/CJS import.
- Sets thinking: { type: 'enabled', budgetTokens: 3000 } on the agent
  run. Sonnet 4.6 doesn't support 'adaptive', so we use 'enabled' with
  an explicit per-turn budget. This budget is a per-turn ceiling, not a
  per-run total — most turns won't use it. The instrumentation-planning
  phase before confirm_event_plan benefits the most.

Note: MCP resources (audit task #7) is not feasible at this SDK
version. createSdkMcpServer in 0.2.97 only accepts { name, version,
tools } — no resources field. Deferred until SDK bump.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: add missing display: 'summarized' to thinking config

Applied via @cursor push command

* fix: make budgetTokens required in SDKThinkingConfig enabled variant

Applied via @cursor push command

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant