[bug]: @sf-agentscript/agentforce@2.5.34 (latest) still unusable — dist/ compiled against a newer @sf-agentscript/language than package.json pins (missing export `nullLiteralValidationPass`)
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 55/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- node.js, typescript
- 领域
- build-system, release
调研方向
使用 issue 中展示的干净 npm install 和 bare import 重现失败,然后结合 package.json 检查 dist/index.js:354,以追踪不匹配的语言依赖。阅读 scope-rewrite issue 涉及的发布流水线,并验证 workspace 版本如何变成已发布的固定版本。完成意味着干净安装可以 import 该 package,并且已打包 artifact 的 smoke test 覆盖每个 public entry point。
由索引模型根据 Issue 内容生成。
描述
Summary
@sf-agentscript/agentforce@2.5.34 (current latest) cannot be imported after a clean npm install. The package's dist/ is compiled against a newer @sf-agentscript/language than the version its own package.json pins, so the import fails immediately.
This looks like a sibling of #35 (and PR #40): the scope-rewrite part appears fixed in 2.5.34 — dist/index.js now correctly imports from @sf-agentscript/language — but the same publish pipeline still emits dependency pins that don't match what dist/ was built against. Net effect is the same: the published package is broken end-to-end, just with a different error.
Reproduction
mkdir repro && cd repro && npm init -y
npm install @sf-agentscript/agentforce # resolves 2.5.34
node --input-type=module -e "import { parse } from '@sf-agentscript/agentforce';"
Actual
SyntaxError: The requested module '@sf-agentscript/language' does not provide
an export named 'nullLiteralValidationPass'
at .../node_modules/@sf-agentscript/agentforce/dist/index.js:354
Expected
The module imports and parse() is callable.
Root cause
@sf-agentscript/agentforce@2.5.34 → dist/index.js:354:
import { symbolTableAnalyzer, undefinedReferencePass, /* ... */,
nullLiteralValidationPass } from "@sf-agentscript/language";
but its package.json pins the dependency exactly:
"@sf-agentscript/language": "2.5.4"
and that version does not export the symbol:
@sf-agentscript/language |
exports nullLiteralValidationPass |
|---|---|
2.5.4 (the pinned version) |
❌ no |
2.18.0 |
✅ yes |
So the compiled output requires a newer language than the manifest allows. Installing @sf-agentscript/language@2.18.0 alongside it makes the import succeed, which confirms the diagnosis.
Suggested fix
- Have the publish pipeline pin the workspace versions the artifacts were actually built against (the same step that got the scope rewrite wrong in #35 / #40), or simply bump the
@sf-agentscript/languagepin. - Add a post-publish smoke test that installs the packed tarball into a clean directory and does a bare
importof every public entry point. Both #35 and this issue would have been caught by that single check, and it would keep the published artifact honest going forward.
Environment
@sf-agentscript/agentforce@2.5.34(dist-taglatest)- resolved
@sf-agentscript/language@2.5.4 - Node.js v24.15.0, npm 11.12.1, Windows 11
Notes
Workaround for anyone blocked: @sf-agentscript/parser is unaffected and can be used directly if you only need the AST — that is what I ended up doing. I am building a static authority analyzer that reads .agent authoring bundles and resolves each action's apex:// / flow:// target straight from the file.
Happy to send a PR for the smoke test if that approach is acceptable.
- 主要语言
- TypeScript
- 星标
- 267
- 派生
- 54
- 平均合并
- 48 分钟
- 30 天内合并 PR
- 1
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
salesforce/agentscript 的其他 Issue
-
README Quick Start fails on macOS: Node 26 incompatibility and missing tree-sitter CLI prerequisite 未关闭
难度 2/5 半天 新手友好度 75/100
salesforce/agentscript#33 · 2 条评论 ·
-
难度 4/5 3-5 天 新手友好度 52/100
salesforce/agentscript#73 ·
-
bug
难度 3/5 1-2 天 新手友好度 35/100
salesforce/agentscript#67 ·
-
难度 3/5 1-2 天 新手友好度 52/100
salesforce/agentscript#42 · 1 条评论 ·
-
bug
难度 3/5 1-2 天 新手友好度 72/100
salesforce/agentscript#35 · 1 条评论 ·
查看 salesforce/agentscript 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 1/5 1 小时以内 新手友好度 90/100
TanStack/tanstack.com#1293 ·