Skip to content

Releases: runcycles/cycles-client-typescript

v0.3.1

07 May 10:20
156f13e

Choose a tag to compare

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

27 Apr 23:54
457add0

Choose a tag to compare

Java parity: dynamic subject and action fields on withCycles.

Added

  • Dynamic subject + action fields on withCycles config — tenant, workspace, app, workflow, agent, toolset, actionKind, and actionName now accept (...args: TArgs) => string | undefined in addition to a static string. Callables are resolved against the wrapped function's per-call args; returning undefined falls through to the client-config default (subject) or "unknown" (action). Static strings unchanged. Java parity with cycles-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

24 Mar 21:29
5791e86

Choose a tag to compare

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

19 Mar 14:22
a9e1c7f

Choose a tag to compare

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

13 Mar 23:13
492218f

Choose a tag to compare

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

13 Mar 17:56
262ed5e

Choose a tag to compare

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

Full Changelog: https://github.com/runcycles/cycles-client-typescript/commits/v0.1.0