Skip to content

docs: match HttpApi guidance to the typed client - #163

Merged
cursor[bot] merged 1 commit into
masterfrom
cursor/stale-httpapi-client-docs-82e7
Nov 1, 2026
Merged

cursor[bot] merged 1 commit into
masterfrom
cursor/stale-httpapi-client-docs-82e7

Conversation

@jonbeckman

@jonbeckman jonbeckman commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The web client README still documented BackgroundSessionsClient from apps/web/src/session-client.ts, which the typed-client work removed. The HttpApi skill still told agents to import effect/unstable/httpapi and effect/unstable/observability/Otlp, and to add Maple. Effect 4.0.3 exports effect/http-api and effect/observability/Otlp, and this repository does not install Maple.

  • apps/web/README.md now shows makeS0ApiClient from @solzero/api, and describes /api as the S0Api contract on the web origin.
  • .agents/skills/effect-httpapi-workers-patterns/SKILL.md names the current Effect import paths and keeps Cloudflare Worker Observability as the deployed log and trace path.
  • makeS0ApiClient notes that bearerToken is sent as Authorization: Bearer.

This is documentation and a comment. It does not change runtime behavior, so it uses release:none and does not add a Tegami entry.

No source files were deleted. apps/web/src/session-client.ts was already absent on master.

Search before the edit:

  • rg -n "BackgroundSessionsClient|from \"./src/session-client\"" matched only apps/web/README.md and the historical note in .tegami/2026-10-29-session-page-actions.md.
  • test ! -e apps/web/src/session-client.ts — the module file is not in the tree.
  • rg -n "effect/unstable/httpapi|effect/unstable/observability" --glob '!node_modules/**' matched only .agents/skills/effect-httpapi-workers-patterns/SKILL.md.
  • rg -n "from \"effect/http-api\"" packages apps tests matches the current contract, server routes, and apps/web/src/lib/api-client.ts.
  • node_modules/effect/package.json exports ./http-api and ./observability. effect/dist/observability/Otlp.js exists. There is no effect/unstable/httpapi export.
  • rg -n "@maple-dev|maple start" --glob '!node_modules/**' --glob '!.agents/**' had no matches. No package.json depends on Maple.

Open PRs #89, #75, and #155 were left untouched, including docs/e2e.md, AGENTS.md, root README.md, scripts/e2e/*, and the version-package files.

Validation

  • nub run format
  • nub run lint
  • nub run typecheck
  • nub run config:check

A temporary copy of the README snippet was typechecked with @solzero/api and then deleted. sessionKind is required on the client payload type, so the example includes sessionKind: "isolate". nub run test was not run: the diff does not change runtime behavior, and no end-to-end test covers these docs.

Checklist

  • I added or updated tests for behavior changes, or explained why tests are not needed.
  • I updated documentation and config examples when behavior or configuration changed.
  • I added a .tegami/ release entry, or explained why this pull request uses release:none.
  • I ran nub run config:check, nub run typecheck, nub run lint, nub run format, and nub run test.
  • I did not include credentials, private data, internal URLs, or organization-specific defaults.
  • I updated THIRD_PARTY_NOTICES.md for new third-party code or separately licensed assets.

config:check, typecheck, lint, and format passed. nub run test did not run, for the reason in Validation.

Open in Web Open in Cursor 

The web README still described the removed BackgroundSessionsClient, and the HttpApi skill still named Effect import paths that 4.0.3 does not export.

Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
@jonbeckman jonbeckman added the release:none label Nov 1, 2026 — with Cursor
@jonbeckman
jonbeckman marked this pull request as ready for review November 1, 2026 09:15
@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Tegami

This repository uses Tegami to manage releases. When your changes affect published packages, add a changelog file under .tegami/ before merging.

Create a changelog → · Changelog format

Release preview

Package Bump Version
solzero major 1.8.0 → 2.0.0

This PR does not add changelog files. Pending changelogs from other branches are included in the preview above.

Run nub run tegami locally to create a changelog interactively.

Managed by Tegami.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

🟢 e2e solzero-core: 9 passed, 37 left out by filters

1 agent step · 1 replayed from cache

Change 3 files changed since e3ef6a5
Filter decision kept 8 of 45 tests, left out 37 (1 call, 23.9k tokens)

37 tests left out by filters
Test Filter Reason
tests/accounts.e2e.ts › create, use and revoke an isolated user API key decision 12% likely affected
tests/accounts.e2e.ts › Better Auth 1.7 account APIs select the local account row id decision 12% likely affected
tests/accounts.e2e.ts › Accounts settings shows GitHub as unlinked without OAuth providers decision 12% likely affected
tests/admin.e2e.ts › administrator pages show live control-plane configuration decision 12% likely affected
tests/advanced-sessions.e2e.ts › incognito sessions stay outside normal lists but open directly decision 12% likely affected
tests/advanced-sessions.e2e.ts › session MCP definitions and subagent preferences persist decision 12% likely affected
tests/api-routing.e2e.ts › stage metadata binds only API paths and keeps public URLs distinct from internal transport decision 8% likely affected
tests/api-routing.e2e.ts › public prefix normalization respects Better Auth, API-key ownership and segment boundaries decision 3% likely affected
tests/auth.e2e.ts › sign-in gate protects every application route decision 2% likely affected
tests/auth.e2e.ts › credential sign-in opens the requested settings page decision 3% likely affected
tests/auth.e2e.ts › anonymous callers cannot access any protected API group decision 12% likely affected
tests/auth.e2e.ts › sign-out removes authenticated UI access decision 3% likely affected
tests/bots.e2e.ts › create a bot and manage a temporary routine through the UI decision 12% likely affected
tests/branding.e2e.ts › the selected deployment brand reaches the browser decision 5% likely affected
tests/deployment-config.e2e.ts › PR helper branding keeps both persisted built-in skill identities usable decision 4% likely affected
tests/deployment-config.e2e.ts › a complete stage brand overrides environment branding and normalizes its values decision 3% likely affected
tests/deployment-config.e2e.ts › existing brand environment overrides work when the stage file omits brand decision 5% likely affected
tests/deployment-config.e2e.ts › resolved configuration compiles into narrow server identity inputs decision 12% likely affected
tests/deployment-config.e2e.ts › profile validation and stage URLs select the same complete named file decision 10% likely affected
tests/deployment-config.e2e.ts › the stage secret writer includes only active references without printing their values decision 4% likely affected
tests/deployment-config.e2e.ts › the CLI rejects incomplete branding and unsafe executable names before deployment decision 3% likely affected
tests/deployment-config.e2e.ts › PlanetScale provisioning is optional, configurable, and rejects invalid capacity inputs decision 7% likely affected
tests/deployment-config.e2e.ts › preview and validation workflows target master only decision 2% likely affected
tests/session-transfer.e2e.ts › admin authentication transfer redeems once and retains its deep link decision 12% likely affected
tests/sessions.e2e.ts › session tools, archive and restoration persist through the real Worker decision 12% likely affected
tests/sessions.e2e.ts › a second account cannot read or mutate another account's session decision 12% likely affected
tests/sessions.e2e.ts › isolate executes a real prompt and persists its output decision 12% likely affected
tests/sessions.e2e.ts › opencode executes a real prompt and persists its output decision 12% likely affected
tests/sessions.e2e.ts › codex executes a real prompt and persists its output decision 12% likely affected
tests/settings.e2e.ts › all settings categories load real data decision 12% likely affected
tests/settings.e2e.ts › runtime default persists after reload decision 12% likely affected
tests/settings.e2e.ts › MCP deep link and legacy settings URL open the MCP tab decision 12% likely affected
tests/settings.e2e.ts › theme preference survives reload decision 12% likely affected
tests/skills.e2e.ts › global skill defaults and per-user preferences persist independently decision 12% likely affected
tests/workflows.e2e.ts › workflow authoring, rename, export, disable and archive persist decision 12% likely affected
tests/workflows.e2e.ts › manual workflow executes JavaScript and stores a real R2 artifact decision 12% likely affected
tests/workflows.e2e.ts › invalid workflow definitions are rejected before storage decision 12% likely affected
All 9 tests in 6 files
Test Agent Time
🟢 tests/api-contract.e2e.ts · 1 passed 376ms
🟢 exported API key and session schemas decode actual Worker responses 376ms
🟢 tests/api-routing.e2e.ts · 3 passed 227ms
🟢 API configuration has no separate API hostname 7ms
🟢 public API URLs retain the base path, stable webhook ID and OpenAPI server 38ms
🟢 real Worker service binding preserves auth, raw webhook bodies, streaming, redirects, cookies and WebSockets 182ms
🟢 tests/auth.setup.e2e.ts · 1 passed 2.6s
🟢 authenticate isolated admin 2.6s
🟢 tests/branding.e2e.ts · 2 passed 21ms
🟢 health identifies the configured application without exposing configuration 12ms
🟢 OpenAPI uses the selected deployment brand 9ms
🟢 tests/deployment-config.e2e.ts · 1 passed 29ms
🟢 OpenAPI identity uses the configured runtime brand 29ms
🟢 tests/settings.e2e.ts · 1 passed 1 step 2.7s
🟢 secret editor creates, finds and deletes a disposable secret 1 step 2.7s

e2e 0.21.3 · 29.2s · local-cloudflare · run artifacts

@cursor
cursor Bot merged commit c30bc62 into master Nov 1, 2026
18 checks passed
@cursor
cursor Bot deleted the cursor/stale-httpapi-client-docs-82e7 branch November 1, 2026 09:17
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.

2 participants