{"id":14967221,"url":"https://github.com/golemcloud/golem-ts","last_synced_at":"2025-10-25T17:31:46.257Z","repository":{"id":242887813,"uuid":"810813016","full_name":"golemcloud/golem-ts","owner":"golemcloud","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-24T18:00:24.000Z","size":3788,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-01T04:59:10.513Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/golemcloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-05T11:58:25.000Z","updated_at":"2024-09-02T12:37:24.000Z","dependencies_parsed_at":"2024-06-05T15:11:51.647Z","dependency_job_id":"2857c3a1-fdbf-4114-9b19-1f098346e9fe","html_url":"https://github.com/golemcloud/golem-ts","commit_stats":{"total_commits":53,"total_committers":3,"mean_commits":"17.666666666666668","dds":"0.16981132075471694","last_synced_commit":"53fb065f7e2f938cf1c7708da9cf384fb68a1684"},"previous_names":["golemcloud/golem-ts"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemcloud%2Fgolem-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemcloud%2Fgolem-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemcloud%2Fgolem-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemcloud%2Fgolem-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golemcloud","download_url":"https://codeload.github.com/golemcloud/golem-ts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219865216,"owners_count":16555929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T13:37:39.634Z","updated_at":"2025-10-25T17:31:46.250Z","avatar_url":"https://github.com/golemcloud.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# golem-ts\n\n**Merged into https://github.com/golemcloud/golem**\n\n`golem-ts` is a TypeScript library that provides high-level wrappers for Golem's runtime API, including the [transaction API]([https://learn.golem.cloud/docs/transaction-api](https://learn.golem.cloud/docs/experimental-languages/ts-language-guide/transactions)), [durability controls](https://learn.golem.cloud/docs/experimental-languages/ts-language-guide/durability) and customizing the [retry policy](https://learn.golem.cloud/docs/experimental-languages/ts-language-guide/retries). It simplifies the process of writing Golem programs by offering a set of utilities and abstractions.\n\n## Installation\n\nTo install `golem-ts`, use the following command:\n\n```bash\nnpm install @golemcloud/golem-ts\n```\n\n## Features\n\n- **Transactions**: `golem-ts` supports both infallible and fallible transactions.\n  - Use operations with compensations to handle failure cases gracefully.\n- **Guards and Helpers**: The library provides guards and helper functions for various aspects of Golem programming.\n  - Retry Policy: Define retry policies for operations to handle transient failures.\n  - Idempotence Level: Specify the idempotence level of operations to ensure data consistency.\n  - Persistence Level: Control the persistence level of operations to balance performance and durability.\n  - Atomic Operations: Perform multiple operations atomically to maintain data integrity.\n- **Result Type**: `golem-ts` introduces a `Result` type that enables typed errors, making error handling more robust and expressive.\n- **Async to Sync**: utility functions for converting an async function into a synchronous one.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemcloud%2Fgolem-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolemcloud%2Fgolem-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemcloud%2Fgolem-ts/lists"}