Skip to content

Rename to @versionone/agility-sdk; publish workflow; attachment fixes; C4 - #47

Merged
jallers merged 7 commits into
proposed_type_script_api_versionfrom
claude/admiring-ride-vsq4sa
Nov 7, 2026
Merged

jallers merged 7 commits into
proposed_type_script_api_versionfrom
claude/admiring-ride-vsq4sa

Conversation

@jallers

@jallers jallers commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

This renames the package to @versionone/agility-sdk, adds the npm publish workflow (A6) and an MIT license, fixes two attachment gaps from gh-v1's C4, and ticks C4.

  • Rename: the @versionone scope already has ctm-pipeline-builder-sdk, and the product is Agility. package.json now has a description, keywords and links. The README leads with how to install the alpha and states that this isn't a compatible successor to v1sdk 2.x.
  • Publish (A6): pushing a v* tag runs .github/workflows/publish.yml. It checks the tag matches package.json, runs verify, and publishes with provenance through npm trusted publishing. A prerelease goes out on its own dist-tag (alpha, beta or rc), so latest is never a prerelease. The version is now 1.0.0-alpha.0. The license is MIT (LICENSE, included in the package). master's BSD 3-clause LICENSE.md stays with the 2.x code.
  • Attachments and plan: attachments.get reports the Content-Type the server sent, and a new attachments.page returns { attachments, total, more }. Plan 001 ticks C4, which completes Track C, and records the license decision.

After merge, the first version is published once by hand. Then the package is linked to publish.yml on npmjs, and later releases publish from tags (see the README's "Releasing" section).

All 127 unit tests pass. npm pack holds only dist/, the README, LICENSE and package.json.

🤖 Generated with Claude Code

https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb

From gh-v1's C4:
- attachments.get reports the Content-Type the server sent the bytes
  with (falling back to the Attachment's recorded type, which stays as
  recordedContentType). A request can now take onResponse to see a
  successful response's status and headers; wire/attachment's getFile
  uses it, and also reads the filename from Content-Disposition.
- attachments.page returns { attachments, total, more }. It rests on a new
  assetApi.queryPage, which sends needTotal and reads the total api/asset
  reports in resultMetaData (query.v1 ignores needTotal). list is unchanged.

Live (v1sdktesting): text/plain served, total 2 with more after a page of 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
Track C is done: gh-v1 talks to Agility only through the vendored SDK,
apart from the gh v1 api passthrough.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
Before the first publish. The @versionone scope already has another SDK
(ctm-pipeline-builder-sdk), and the product is Agility. package.json gains a
description, keywords, repository, homepage and bugs for npm; the README
leads with what the package is, how to install the alpha, and that it is
not a compatible successor to v1sdk 2.x. Plans, handoffs and the CommonJS
install test use the new name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
@jallers jallers changed the title Attachments: served Content-Type and paged totals; plan 001 C4 Rename to @versionone/agility-sdk; attachment fixes; plan 001 C4 Nov 7, 2026
.github/workflows/publish.yml runs on a v* tag: checks the tag equals
package.json's version, runs verify, takes the dist-tag from the
prerelease id (alpha, beta, rc; latest only for a plain version), and
publishes with provenance through npm trusted publishing (NPM_TOKEN as a
fallback for the first publish). package.json: 1.0.0-alpha.0 and
publishConfig { access: public, provenance: true }. README: Releasing.

Not published yet: the license is undecided (master's LICENSE.md is BSD
3-clause; package.json says MIT with no license file).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
@jallers jallers changed the title Rename to @versionone/agility-sdk; attachment fixes; plan 001 C4 Rename to @versionone/agility-sdk; publish workflow; attachment fixes; C4 Nov 7, 2026
Jim chose MIT for @versionone/agility-sdk. LICENSE holds the text (npm
packs it automatically); package.json already says MIT. The 2.x code's
BSD 3-clause LICENSE.md on master is unaffected. Plan 001 records the
decision; A6 has only the first publish and the npmjs link left.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
tsup reads entries as glob patterns, where a backslash is an escape, so on
Windows the CJS test's absolute entry path (D:\...\src\index.ts) matched
nothing ("Cannot find ...\src\index.ts", reported by Jim). It now hands
tsup a forward-slash path.

CI adds a Windows / Node 24 job so this kind of break shows up in a PR,
and the tarball upload uses the renamed package's file name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NSWj9gL1oCubj5e2anVkb
@jallers
jallers merged commit e2d577d into proposed_type_script_api_version Nov 7, 2026
4 checks passed
@jallers
jallers deleted the claude/admiring-ride-vsq4sa branch November 7, 2026 13:38
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.

2 participants