Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[bug]: @sf-agentscript/lsp-server@2.2.30 crashes at startup — variantMatch is not a function (stale @sf-agentscript/language pin)

未关闭
#73 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
52/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
冷清
领域
devtools, tooling

调研方向

先从 @sf-agentscript/agentforce-dialect、@sf-agentscript/lsp 和 @sf-agentscript/lsp-server 的依赖声明开始,然后查看 #72 中提出的发布后导入 smoke test。使用 npx --yes @sf-agentscript/lsp-server --stdio 重现,并验证全新安装能够完成 LSP initialize handshake 并发布 diagnostics。

由索引模型根据 Issue 内容生成。

描述

Description

The published @sf-agentscript/lsp-server (2.2.30, currently latest) crashes
at startup with TypeError: ...variantMatch is not a function, before the LSP
connection is established. The root cause is a stale exact pin on the transitive
@sf-agentscript/language dependency, so no fresh install of the LSP server
works
(same for @sf-agentscript/lsp@2.3.8).

Steps to Reproduce

  1. npx --yes @sf-agentscript/lsp-server --stdio
    (or npm install -g @sf-agentscript/lsp-server and run agentscript-lsp --stdio)
  2. The process throws immediately, before any LSP handshake.

Expected Behavior

The server starts, completes the LSP initialize handshake, and publishes
diagnostics.

Actual Behavior

Immediate crash at import:

.../@sf-agentscript/agentforce-dialect/dist/schema.js:217
    .variantMatch('byon', (value) => value.startsWith(BYON_SCHEMA_PREFIX), byonSubagentVariant);
     ^
TypeError: NamedBlock(...).describe(...).discriminant(...).variant(...).variantMatch is not a function

Cause: @sf-agentscript/agentforce-dialect@2.13.4 (published 2026-06-10)
uses the variantMatch schema-builder API but pins
@sf-agentscript/language@2.5.4 (2026-06-01), which predates that API.
variantMatch first shipped in @sf-agentscript/language@2.8.4 (2026-06-11,
one day after the dialect) — the dialect appears to have been built against
the unreleased workspace version of language and published with a stale exact
pin. Because every @sf-agentscript/* dependency is an exact pin, no fresh
install can resolve a working language.

Fix: republish agentforce-dialect / lsp / lsp-server against
@sf-agentscript/language >= 2.8.4 (current train is 2.19.3).

Environment

  • Node.js version: 22.18.0
  • pnpm version: n/a (reproduced with npm / npx)
  • OS: Windows 11 (also reproduced in the node:22-bookworm container)
  • Package & version: @sf-agentscript/lsp-server 2.2.30 (also @sf-agentscript/lsp 2.3.8)
  • Browser (if applicable): n/a

Minimal Reproduction

The crash happens before any .agent source is read, so no snippet is required —
just running the server reproduces it:

npx --yes @sf-agentscript/lsp-server --stdio

Verified workaround — install with an npm overrides fix, after which the
server initializes and publishes diagnostics normally (verified against
Neovim's LSP client on Node 22):

{
  "dependencies": { "@sf-agentscript/lsp-server": "2.2.30" },
  "overrides": { "@sf-agentscript/language": "2.8.4" }
}

Additional Context

This is the same publish-pipeline defect already reported for a sibling package
in #71 (@sf-agentscript/agentforce unusable for the same reason, different
missing symbol), and the earlier #35 / #40 scope-rewrite incident. The
post-publish import smoke test proposed in #72 would have caught this too.

主要语言
TypeScript
星标
267
派生
54
平均合并
48 分钟
30 天内合并 PR
1

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

salesforce/agentscript 的其他 Issue

查看 salesforce/agentscript 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。