Skip to content

ci(sdk): fail npm tarballs with no export or bin targets, and print the counts - #160

Merged
aikins01 merged 1 commit into
mainfrom
ci/sdk/pack-exports-follow-ups
Oct 31, 2026
Merged

aikins01 merged 1 commit into
mainfrom
ci/sdk/pack-exports-follow-ups

Conversation

@aikins01

Copy link
Copy Markdown
Contributor

Follow-ups to #155 for the npm tarball check.

release-artifact.sh now fails a packed manifest that has neither exports nor bin, because the check passed it with nothing to check. Every published package has at least one target today. A pattern target such as ./dist/*.mjs names no single file, so the check now rejects it with its own message instead of reporting it as a missing file; no package uses one yet. The script also prints each package with its target count, so the CI step and the release log show what was checked, and the CI guard for an empty package list now says why it failed.

release_test.sh gives the plain fixture an exports entry, uses an object bin, and adds rows that must fail for a manifest with no targets, a missing string bin, and a pattern export.

Refs #83

…he counts

release-artifact.sh now fails a packed manifest with neither exports nor bin, fails a pattern target with its own message, and prints each package's target count. The CI guard for an empty package list says why it failed.
@aikins01 aikins01 self-assigned this Oct 31, 2026
@aikins01
aikins01 merged commit 990286c into main Oct 31, 2026
10 checks passed
@aikins01
aikins01 deleted the ci/sdk/pack-exports-follow-ups branch October 31, 2026 16:19
aikins01 added a commit that referenced this pull request Oct 31, 2026
Since the core SDKs record exception text only when both capture flags
are on (#88), the root, Bedrock, opencode, omp, and pi READMEs no longer
say that exception messages are recorded regardless of them. The root
README names the error messages that TanStack AI records.

Values are sent whole by default (#148), so tool definitions in Google
GenAI, Bedrock agent traces, and LiteLLM metadata are cut only at a
maxAttributeLength that is set, not at 65,536 characters. The Python
READMEs keep the old cap for telemetry-dev 0.3.2 and earlier, which
their dependency floors still allow.

The Python README says that a call in a child forked during a prompt
fetch looks at the cache again and starts a new fetch if it must (#159),
names the timeout of create_telemetry_span_exporter, and drops the note
about integrations that run on a core without record_output_chunk: every
integration requires telemetry-dev 0.3.0 or later, which has it.

The CLI README describes the trace summary and the suggested next
commands (#128). The experiment action README names the failed runs in
the comment, the pages it reads to find its comment (#157), and an empty
github-token. The root README lists prompts, experiments, and scores,
and the CI check of the packed npm exports (#155, #160). The opencode
plugin file example depends on ^0.2.2, not ^0.1.9.
aikins01 added a commit that referenced this pull request Nov 2, 2026
Follows #164 with the README lines that were still stale, or would go stale on the next release.

- The opencode plugin-file example no longer pins `^0.2.2`, which release-please does not update. It installs the package with `npm install --prefix .opencode`, which writes the current range to `.opencode/package.json`. Without `--prefix`, npm can add it to the project's own `package.json` when `.opencode/` has none yet.
- The Python `timeout` row now says what the exporter's deadline covers: no wait before a retry starts after it, a request whose connection fails is sent again once with the same limit, so an ingest that does not answer can take twice the timeout, and a response that keeps arriving can take longer. The `export_timeout_millis` row and the `create_telemetry_span_exporter` paragraph point to that row.
- RELEASING.md describes the packed-exports check from #155 and #160.
- The sentences about older cores that cannot report whether a mask is configured, lack the stream capture policy, or record exceptions regardless of capture flags are removed. Every supported range (`@telemetry-dev/sdk ^0.2.2`, `telemetry-dev>=0.3.0`) reaches only cores that have these features. The Python "with an older core, each stream keeps up to 64 KiB" clauses stay, because no released core has `max_stream_bytes` yet.

Fixes #166
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.

1 participant