Releases: runcycles/cycles-client-typescript
Releases · runcycles/cycles-client-typescript
v0.3.1
What's Changed
- chore(ci): auto-create GitHub Release on tag push by @amavashev in #74
- docs(readme): front-load search keywords in hook for GitHub discoverability by @amavashev in #75
- ops: add OpenSSF Scorecard workflow by @amavashev in #76
- ops: pin all third-party GitHub Action SHAs by @amavashev in #77
- ops: tighten workflow token permissions (Scorecard PR B) by @amavashev in #78
- chore(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.3 by @dependabot[bot] in #82
- chore(deps-dev): bump eslint from 10.2.1 to 10.3.0 by @dependabot[bot] in #83
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.59.0 to 8.59.1 by @dependabot[bot] in #84
- chore(deps-dev): bump @typescript-eslint/parser from 8.59.0 to 8.59.1 by @dependabot[bot] in #85
- chore(deps-dev): bump yaml from 2.8.3 to 2.8.4 by @dependabot[bot] in #86
- chore(deps): bump actions/checkout from 4.2.2 to 6.0.2 by @dependabot[bot] in #80
- chore(deps): bump actions/upload-artifact from 4.4.3 to 7.0.1 by @dependabot[bot] in #79
- chore(deps): bump github/codeql-action from 3.27.6 to 4.35.3 by @dependabot[bot] in #81
- docs: add MAINTAINERS.md (matches cycles-server template) by @amavashev in #87
- chore(seo): retarget npm metadata for category-search discovery (0.3.1) by @amavashev in #88
Full Changelog: v0.3.0...v0.3.1
v0.3.0 dynamic subject and action fields on withCycles
Java parity: dynamic subject and action fields on withCycles.
Added
- Dynamic subject + action fields on
withCyclesconfig —tenant,workspace,app,workflow,agent,toolset,actionKind, andactionNamenow accept(...args: TArgs) => string | undefinedin addition to a static string. Callables are resolved against the wrapped function's per-call args; returningundefinedfalls through to the client-config default (subject) or"unknown"(action). Static strings unchanged. Java parity withcycles-spring-boot-starter#50. (#72, #73)
Example
const runRequest = withCycles(
{
estimate: (req, workspaceId) => req.tokens * 10,
workspace: (_req, workspaceId) => workspaceId,
actionKind: "llm.completion",
actionName: (req) => req.model,
client,
},
async (req: { tokens: number; model: string }, workspaceId: string) => callLLM(req),
);A callable returning undefined falls through to the client-config default for subject fields, or to "unknown" for actionKind/actionName — same fallback semantics as a missing static. Throwing callables propagate fail-fast before the reservation is created.
Install: npm install runcycles@0.3.0 (published to npm with provenance)
Full changelog: https://github.com/runcycles/cycles-client-typescript/blob/main/CHANGELOG.md
v0.2.0 bug fixes, support 0.1.24 spec
What's Changed
- Add badges to README for npm, CI, and license by @amavashev in #24
- Add documentation links section to README by @amavashev in #25
- Document nested withCycles behavior and recommended patterns by @amavashev in #26
- Claude/analyze spring issue 29 v biy9 by @amavashev in #27
- Change default overage policy from REJECT to ALLOW_IF_AVAILABLE by @amavashev in #28
- Add budget and extension error codes, charged amount to event response by @amavashev in #29
- chore: bump version to 0.2.0 for protocol v0.1.24 by @amavashev in #30
Full Changelog: v0.1.2...v0.2.0
v0.1.2 Fix type safety in WithCyclesConfig generics
What's Changed
- Add AUDIT.md documenting protocol conformance by @amavashev in #19
- Add AWS Bedrock and Google Gemini budget governance examples by @amavashev in #20
- Add parent README for examples directory by @amavashev in #21
- Add API key creation guide to documentation and examples by @amavashev in #22
- Fix type safety in WithCyclesConfig generics and add compile-time type tests by @amavashev in #23
Full Changelog: v0.1.1...v0.1.2
v0.1.1 updates and bug and stability fixes, more SDK examples
What's Changed
- Add manual workflow_dispatch trigger to CI publish by @amavashev in #4
- Comprehensive README rewrite for npm publication by @amavashev in #5
- Optimize initialization and add async disposal support by @amavashev in #6
- Add comprehensive test coverage for lifecycle, streaming, and error handling by @amavashev in #7
- Update TEST_COVERAGE_ANALYSIS.md with final coverage results by @amavashev in #8
- Add comprehensive examples for Cycles budget governance by @amavashev in #9
- Claude/expand ai examples zj dwy by @amavashev in #10
- Document withCycles client caching behavior in default client section by @amavashev in #11
- Add ESLint with typescript-eslint/recommended and coverage thresholds by @amavashev in #12
- Add lint and coverage enforcement to CI by @amavashev in #13
- Document commit rollback behavior for failed commits in streaming sec… by @amavashev in #14
- Warn on commit retry exhaustion in CommitRetryEngine by @amavashev in #15
- Remove dead code: unused constants, validateReservationId, makeClient by @amavashev in #16
- Remove CyclesTransportError from public exports by @amavashev in #17
- Add test for commit retry exhaustion warning by @amavashev in #18
Full Changelog: v0.1.0...v0.1.1
v0.1.0 initial release
What's Changed
- Add TypeScript client for Cycles budget-management protocol by @amavashev in #1
- Add comprehensive mapper functions for wire format conversion by @amavashev in #2
- Add CI/CD pipeline and improve package metadata by @amavashev in #3
New Contributors
- @amavashev made their first contribution in #1
Full Changelog: https://github.com/runcycles/cycles-client-typescript/commits/v0.1.0