Skip to content

fix(ci): replace tlon git api dependency (closes #2362)#2402

Merged
alexey-pelykh merged 1 commit intomainfrom
fix/tlon-api-dep-remoteclaw-2362
Apr 18, 2026
Merged

fix(ci): replace tlon git api dependency (closes #2362)#2402
alexey-pelykh merged 1 commit intomainfrom
fix/tlon-api-dep-remoteclaw-2362

Conversation

@alexey-pelykh
Copy link
Copy Markdown

Closes #2362

Cherry-pick of openclaw/openclaw@ac850e815b by @vincentkoc — the upstream fix for the `@tloncorp/api` git-dependency build failure on `npm install`.

Why it wasn't fixed by B10 sync

B10 synced to `v2026.3.22` (PR #2400) which DID include commit `ac850e815b` in its range. Three converging gaps left the fix unapplied:

File Status Why missed
`extensions/tlon/src/tlon-api.ts` (NEW) INCLUDE Silent-reverted during D.3 stabilization (in the 1076-file deferred-extracts list)
`extensions/tlon/package.json` EXTRACT (fork's 0.6.0 floor) D.4 porting deferred — dep swap never applied
`package.json` (root) EXTRACT (fork-divergent) D.4 porting deferred — fork still had `@tloncorp/api`

Root cause of the silent-revert cascade: D.3 subclaude split broken files into `revert-N.txt` (existed pre-sync → bulk `git checkout `) and `extract-N.txt` (new upstream → `rm` + record). Only the right-hand branch got recorded. See upstream protocol hardening in fork-sync SKILL.md (pending skill PR) adding a mandatory INCLUDE Reconciliation Gate.

Changes in this PR

  • `extensions/tlon/src/tlon-api.ts` (new, 301 lines) — local S3 upload implementation using `@aws-sdk/client-s3` + `@aws-sdk/s3-request-presigner`
  • `extensions/tlon/package.json` — remove `@tloncorp/api` git dep, add AWS SDK deps
  • `package.json` (root) — remove `@tloncorp/api` git dep
  • `extensions/tlon/src/channel.ts` — import `configureClient` from `./tlon-api.js`
  • `extensions/tlon/src/urbit/upload.ts`, `upload.test.ts` — switch imports from `@tloncorp/api` to `./tlon-api.js`; keep fork's `remoteclaw/plugin-sdk/tlon` for `fetchWithSsrFGuard`
  • Drop `extensions/tlon/src/channel.runtime.ts` (not tracked in fork)
  • Regenerate `pnpm-lock.yaml`

Validation

Gate Result
`pnpm check` (format + tsgo + lint + no-random-messaging + no-remoteclaw-ai) PASS
`pnpm test extensions/tlon/` 8 files / 87 tests PASS
`node --import tsx scripts/release-check.ts` (runs in CI; local requires build)

Verification

After merge, `npm install` on a consumer project should succeed without requiring global `vite`.

🤖 Generated with Claude Code

Cherry-picked from openclaw/openclaw@ac850e815b by @vincentkoc.

B10 sync to v2026.3.22 (PR #2400) was meant to include this fix
(upstream commit lives in range 23d5d24..4c016f5) but the
relevant changes were silently reverted during D.3 build stabilization
and the EXTRACT porting for package.json hunks was deferred.

Changes adapted for fork:
- Add extensions/tlon/src/tlon-api.ts (local S3 upload via AWS SDKs)
- extensions/tlon/package.json: remove @tloncorp/api git dep, add
  @aws-sdk/client-s3 + @aws-sdk/s3-request-presigner
- package.json (root): remove @tloncorp/api git dep (fork-kept from
  prior batch; upstream removed earlier)
- extensions/tlon/src/channel.ts: import configureClient from
  ./tlon-api.js (fork-divergent file; upstream edit applied manually)
- extensions/tlon/src/urbit/upload.ts, upload.test.ts: switch imports
  from @tloncorp/api to ./tlon-api.js; keep fork's
  remoteclaw/plugin-sdk/tlon path for fetchWithSsrFGuard
- Drop extensions/tlon/src/channel.runtime.ts (not tracked in fork)
- Regenerate pnpm-lock.yaml

Closes #2362.

Cherry-picked-from: openclaw/openclaw@ac850e815b
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@alexey-pelykh alexey-pelykh merged commit f4c70a2 into main Apr 18, 2026
12 checks passed
@alexey-pelykh alexey-pelykh deleted the fix/tlon-api-dep-remoteclaw-2362 branch April 18, 2026 21:24
alexey-pelykh added a commit that referenced this pull request Apr 19, 2026
Cherry-pick #2402 added `@aws-sdk/client-s3@3.1000.0` and
`@aws-sdk/s3-request-presigner@3.1000.0` to `extensions/tlon/package.json`
but did not mirror them in root `package.json`. `pnpm release:check`
enforces that bundled-extension deps exist in root (or sit in the
extension's `rootDependencyMirrorAllowlist`), so `publish-next` has
been failing on every push to main since commit f4c70a2.

Add both deps to root `dependencies` in alphabetical order and
regenerate `pnpm-lock.yaml`. Local `pnpm release:check` exits 0.

Closes #2403

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

Cherry-pick #2402 added `@aws-sdk/client-s3@3.1000.0` and
`@aws-sdk/s3-request-presigner@3.1000.0` to `extensions/tlon/package.json`
but did not mirror them in root `package.json`. `pnpm release:check`
enforces that bundled-extension deps exist in root (or sit in the
extension's `rootDependencyMirrorAllowlist`), so `publish-next` has
been failing on every push to main since commit f4c70a2.

Add both deps to root `dependencies` in alphabetical order and
regenerate `pnpm-lock.yaml`. Local `pnpm release:check` exits 0.

Closes #2403

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@tloncorp/api git dependency fails to build on npm install (exit code 127)

2 participants