{"id":43625048,"url":"https://github.com/jentic/jentic-arazzo-tools","last_synced_at":"2026-03-11T17:03:54.093Z","repository":{"id":334993926,"uuid":"1143080791","full_name":"jentic/jentic-arazzo-tools","owner":"jentic","description":"Jentic Arazzo Tools","archived":false,"fork":false,"pushed_at":"2026-03-10T13:45:48.000Z","size":7609,"stargazers_count":13,"open_issues_count":6,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-10T15:59:46.513Z","etag":null,"topics":["arazzo","arazzo-specification","arazzo-ui","parser","renderer","resolver","runner","validator"],"latest_commit_sha":null,"homepage":"https://arazzo-ui.jentic.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jentic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-27T06:40:33.000Z","updated_at":"2026-03-10T13:45:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jentic/jentic-arazzo-tools","commit_stats":null,"previous_names":["jentic/jentic-arazzo-tools"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/jentic/jentic-arazzo-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jentic%2Fjentic-arazzo-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jentic%2Fjentic-arazzo-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jentic%2Fjentic-arazzo-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jentic%2Fjentic-arazzo-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jentic","download_url":"https://codeload.github.com/jentic/jentic-arazzo-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jentic%2Fjentic-arazzo-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30386953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T14:10:17.325Z","status":"ssl_error","status_checked_at":"2026-03-11T14:09:37.934Z","response_time":84,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["arazzo","arazzo-specification","arazzo-ui","parser","renderer","resolver","runner","validator"],"created_at":"2026-02-04T15:09:31.903Z","updated_at":"2026-03-11T17:03:54.067Z","avatar_url":"https://github.com/jentic.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jentic Arazzo Tools\n\nA comprehensive JavaScript toolkit for parsing, resolving, validating, running and rendering [Arazzo Specification](https://spec.openapis.org/arazzo/latest.html) documents.\n\n[![Discord](https://img.shields.io/badge/JOIN%20OUR%20DISCORD-COMMUNITY-7289DA?style=plastic\u0026logo=discord\u0026logoColor=white)](https://discord.gg/yrxmDZWMqB)\n[![Build Status](https://github.com/jentic/jentic-arazzo-tools/actions/workflows/build.yml/badge.svg)](https://github.com/jentic/jentic-arazzo-tools/actions)\n[![Dependabot enabled](https://badgen.net/badge/icon/dependabot?icon=dependabot\u0026label)](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-3.0-40c463.svg)](https://github.com/jentic/jentic-arazzo-tools/blob/HEAD/CODE_OF_CONDUCT.md)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/jentic/jentic-arazzo-tools/blob/HEAD/LICENSE)\n\n**Supported Arazzo versions:**\n- [Arazzo 1.0.0](https://spec.openapis.org/arazzo/v1.0.0)\n- [Arazzo 1.0.1](https://spec.openapis.org/arazzo/v1.0.1)\n\n**Supported OpenAPI versions (for source descriptions):**\n- [OpenAPI 2.0](https://spec.openapis.org/oas/v2.0)\n- [OpenAPI 3.0.x](https://spec.openapis.org/oas/v3.0.4)\n- [OpenAPI 3.1.x](https://spec.openapis.org/oas/v3.1.2)\n\n## Packages\n\nThis monorepo contains the following packages:\n\n| Package | Description |\n|---------|-------------|\n| [@jentic/arazzo-parser](./packages/jentic-arazzo-parser) | Parser for Arazzo Documents producing [SpecLynx ApiDOM](https://github.com/speclynx/apidom) data model |\n| [@jentic/arazzo-resolver](./packages/jentic-arazzo-resolver) | Resolver for Arazzo Documents |\n| [@jentic/arazzo-validator](./packages/jentic-arazzo-validator) | Validator \u0026 Linter for Arazzo Documents |\n| [@jentic/arazzo-runner](./packages/jentic-arazzo-runner) | Runner for Arazzo Workflows |\n| [@jentic/arazzo-ui](./packages/jentic-arazzo-ui) | UI for Arazzo Workflows |\n\n---\n\n## Parser\n\nThe Parser parses Arazzo Documents from various sources and produces a [SpecLynx ApiDOM](https://github.com/speclynx/apidom) data model using the [Arazzo 1.x namespace](https://github.com/speclynx/apidom/tree/main/packages/apidom-ns-arazzo-1#readme).\n\n```sh\nnpm install @jentic/arazzo-parser\n```\n\n```js\nimport { parse } from '@jentic/arazzo-parser';\n\n// Parse from object\nconst parseResult = await parse({\n  arazzo: '1.0.1',\n  info: { title: 'My Workflow', version: '1.0.0' },\n  sourceDescriptions: [{ name: 'api', type: 'openapi', url: 'https://example.com/openapi.json' }],\n  workflows: [],\n});\n\n// Parse from JSON/YAML string\nconst parseResult = await parse('{\"arazzo\": \"1.0.1\", ...}');\n\n// Parse from file\nconst parseResult = await parse('/path/to/arazzo.json');\n\n// Parse from URL\nconst parseResult = await parse('https://example.com/arazzo.yaml');\n\n// Access the parsed Arazzo specification\nconst arazzoSpec = parseResult.api;\n```\n\nFor complete documentation, see the [@jentic/arazzo-parser README](./packages/jentic-arazzo-parser/README.md).\n\n---\n\n## Resolver\n\nThe Resolver dereferences Arazzo and OpenAPI Documents, resolving all references inline to produce self-contained [SpecLynx ApiDOM](https://github.com/speclynx/apidom) data models.\n\n```sh\nnpm install @jentic/arazzo-resolver\n```\n\n```js\nimport { dereferenceArazzo, dereferenceOpenAPI } from '@jentic/arazzo-resolver';\n\n// Dereference Arazzo from file or URL\nconst arazzoResult = await dereferenceArazzo('/path/to/arazzo.json');\nconst arazzoSpec = arazzoResult.api; // All references resolved inline\n\n// Dereference with source descriptions\nconst resultWithSources = await dereferenceArazzo('/path/to/arazzo.json', {\n  dereference: { strategyOpts: { sourceDescriptions: true } },\n});\n\n// Dereference OpenAPI from file or URL\nconst openapiResult = await dereferenceOpenAPI('/path/to/openapi.json');\nconst openapiSpec = openapiResult.api; // All $ref references resolved inline\n```\n\nFor complete documentation, see the [@jentic/arazzo-resolver README](./packages/jentic-arazzo-resolver/README.md).\n\n---\n\n## Validator\n\nThe Validator validates and lints Arazzo Documents against JSON Schema and performs semantic validation using [SpecLynx ApiDOM Language Service](https://www.npmjs.com/package/@speclynx/apidom-ls).\n\n### CLI\n\nValidate Arazzo documents from the command line:\n\n```sh\nnpx @jentic/arazzo-validator arazzo.yaml\n```\n\n```text\narazzo.yaml\n  1:1  error  json-schema  Object must have required property \"sourceDescriptions\"\n  2:1  error  json-schema  \"info\" property must have required property \"version\"\n\n✖ 2 problems (2 errors, 0 warnings)\n```\n\nMultiple output formats available: `stylish` (default), `codeframe`, `json`, `github-actions`.\n\n### Programmatic API\n\n```sh\nnpm install @jentic/arazzo-validator\n```\n\n```js\nimport { validateURI, DiagnosticSeverity } from '@jentic/arazzo-validator';\n\nconst diagnostics = await validateURI('/path/to/arazzo.yaml');\nconst errors = diagnostics.filter((d) =\u003e d.severity === DiagnosticSeverity.Error);\n```\n\nFor complete documentation, see the [@jentic/arazzo-validator README](./packages/jentic-arazzo-validator/README.md).\n\n---\n\n## UI\n\nInteractive viewer for Arazzo workflows with diagram, documentation, and split views.\n\n[![Live Demo](https://img.shields.io/badge/Live%20Demo-arazzo--ui.jentic.com-blue?style=for-the-badge)](https://arazzo-ui.jentic.com)\n\nOpen any Arazzo document in the browser:\n\n```sh\nnpx @jentic/arazzo-ui https://arazzo-ui.jentic.com/petstore-order-workflow.arazzo.yaml\n```\n\n```sh\nnpm install @jentic/arazzo-ui\n```\n\n```jsx\nimport { ArazzoUI } from '@jentic/arazzo-ui';\nimport '@jentic/arazzo-ui/styles.css';\n\n\u003cArazzoUI document=\"https://example.com/workflow.arazzo.yaml\" view=\"split\" /\u003e\n```\n\nAlso available as a self-contained widget with built-in header and view controls:\n\n```jsx\nimport { ArazzoUIStandalone } from '@jentic/arazzo-ui/standalone';\nimport '@jentic/arazzo-ui/styles.css';\n\n\u003cArazzoUIStandalone document=\"https://example.com/workflow.arazzo.yaml\" /\u003e\n```\n\nFor complete documentation, see the [@jentic/arazzo-ui README](./packages/jentic-arazzo-ui/README.md).\n\n---\n\n## Contributing\n\nPlease read our [Contributing Guide](./CONTRIBUTING.md) and [Code of Conduct](./CODE_OF_CONDUCT.md) before submitting a pull request.\n\n## License\n\nThis project is licensed under the [Apache 2.0 License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjentic%2Fjentic-arazzo-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjentic%2Fjentic-arazzo-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjentic%2Fjentic-arazzo-tools/lists"}