{"meta":{"links":{"Changelog":"https://github.com/ash-project/ash_typescript/blob/main/CHANGELOG.md","Discord":"https://discord.gg/HTHRaaVPUc","Forum":"https://elixirforum.com/c/elixir-framework-forums/ash-framework-forum","GitHub":"https://github.com/ash-project/ash_typescript","REUSE Compliance":"https://api.reuse.software/info/github.com/ash-project/ash_typescript","Website":"https://ash-hq.org"},"description":"Generate type-safe TypeScript clients directly from your Ash resources and actions, ensuring end-to-end type safety between your backend and frontend.","licenses":["MIT"],"maintainers":[]},"name":"ash_typescript","url":"https://hex.pm/api/packages/ash_typescript","owners":[{"url":"https://hex.pm/api/users/ash-project","email":"ash-project@zachdaniel.dev","username":"ash-project"},{"url":"https://hex.pm/api/users/torkan","email":"torkild.kjevik@gmail.com","username":"torkan"}],"inserted_at":"2025-09-13T17:37:36.571499Z","updated_at":"2026-10-03T01:37:27.410510Z","repository":"hexpm","releases":[{"version":"0.19.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.19.0","has_docs":true,"inserted_at":"2026-10-03T01:37:26.297581Z"},{"version":"0.18.4","url":"https://hex.pm/api/packages/ash_typescript/releases/0.18.4","has_docs":true,"inserted_at":"2026-09-29T13:03:24.216399Z"},{"version":"0.18.3","url":"https://hex.pm/api/packages/ash_typescript/releases/0.18.3","has_docs":true,"inserted_at":"2026-09-25T23:28:45.035110Z"},{"version":"0.18.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.18.2","has_docs":true,"inserted_at":"2026-09-03T18:51:58.255276Z"},{"version":"0.18.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.18.1","has_docs":true,"inserted_at":"2026-09-01T05:50:54.414713Z"},{"version":"0.18.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.18.0","has_docs":true,"inserted_at":"2026-08-31T21:35:14.284068Z"},{"version":"0.17.3","url":"https://hex.pm/api/packages/ash_typescript/releases/0.17.3","has_docs":true,"inserted_at":"2026-04-30T12:10:00.534344Z"},{"version":"0.17.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.17.2","has_docs":true,"inserted_at":"2026-04-29T23:23:41.468349Z"},{"version":"0.17.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.17.1","has_docs":true,"inserted_at":"2026-04-18T11:53:45.141701Z"},{"version":"0.17.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.17.0","has_docs":true,"inserted_at":"2026-03-29T18:54:05.299404Z"},{"version":"0.16.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.16.0","has_docs":true,"inserted_at":"2026-03-23T20:54:53.914633Z"},{"version":"0.15.3","url":"https://hex.pm/api/packages/ash_typescript/releases/0.15.3","has_docs":true,"inserted_at":"2026-02-21T21:02:51.506663Z"},{"version":"0.15.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.15.2","has_docs":true,"inserted_at":"2026-02-21T20:16:57.871671Z"},{"version":"0.15.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.15.1","has_docs":true,"inserted_at":"2026-02-21T18:04:56.203028Z"},{"version":"0.15.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.15.0","has_docs":true,"inserted_at":"2026-02-19T13:17:38.113314Z"},{"version":"0.14.4","url":"https://hex.pm/api/packages/ash_typescript/releases/0.14.4","has_docs":true,"inserted_at":"2026-02-14T14:18:36.743633Z"},{"version":"0.14.3","url":"https://hex.pm/api/packages/ash_typescript/releases/0.14.3","has_docs":true,"inserted_at":"2026-02-11T01:36:44.896465Z"},{"version":"0.14.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.14.2","has_docs":true,"inserted_at":"2026-02-10T23:46:06.563378Z"},{"version":"0.14.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.14.1","has_docs":true,"inserted_at":"2026-02-07T17:16:51.566067Z"},{"version":"0.14.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.14.0","has_docs":true,"inserted_at":"2026-02-06T22:10:03.449979Z"},{"version":"0.13.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.13.2","has_docs":true,"inserted_at":"2026-02-04T23:42:05.486560Z"},{"version":"0.13.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.13.1","has_docs":true,"inserted_at":"2026-02-04T18:49:36.160213Z"},{"version":"0.13.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.13.0","has_docs":true,"inserted_at":"2026-02-01T15:39:46.806678Z"},{"version":"0.12.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.12.1","has_docs":true,"inserted_at":"2026-01-26T11:05:00.553382Z"},{"version":"0.12.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.12.0","has_docs":true,"inserted_at":"2026-01-17T21:15:14.512578Z"},{"version":"0.11.6","url":"https://hex.pm/api/packages/ash_typescript/releases/0.11.6","has_docs":true,"inserted_at":"2026-01-13T23:34:44.127465Z"},{"version":"0.11.5","url":"https://hex.pm/api/packages/ash_typescript/releases/0.11.5","has_docs":true,"inserted_at":"2026-01-08T18:08:18.363588Z"},{"version":"0.11.4","url":"https://hex.pm/api/packages/ash_typescript/releases/0.11.4","has_docs":true,"inserted_at":"2025-12-19T12:06:14.979069Z"},{"version":"0.11.3","url":"https://hex.pm/api/packages/ash_typescript/releases/0.11.3","has_docs":true,"inserted_at":"2025-12-17T13:09:16.701655Z"},{"version":"0.11.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.11.2","has_docs":true,"inserted_at":"2025-12-09T21:28:00.830201Z"},{"version":"0.11.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.11.1","has_docs":true,"inserted_at":"2025-12-09T19:06:46.277665Z"},{"version":"0.11.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.11.0","has_docs":true,"inserted_at":"2025-12-09T18:54:31.985328Z"},{"version":"0.10.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.10.2","has_docs":true,"inserted_at":"2025-12-05T09:48:53.203722Z"},{"version":"0.10.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.10.1","has_docs":true,"inserted_at":"2025-12-04T17:18:51.290152Z"},{"version":"0.10.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.10.0","has_docs":true,"inserted_at":"2025-12-04T12:27:00.055349Z"},{"version":"0.9.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.9.1","has_docs":true,"inserted_at":"2025-12-01T15:52:37.645922Z"},{"version":"0.9.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.9.0","has_docs":true,"inserted_at":"2025-11-30T17:34:39.588918Z"},{"version":"0.8.4","url":"https://hex.pm/api/packages/ash_typescript/releases/0.8.4","has_docs":true,"inserted_at":"2025-11-25T17:14:25.515387Z"},{"version":"0.8.3","url":"https://hex.pm/api/packages/ash_typescript/releases/0.8.3","has_docs":true,"inserted_at":"2025-11-24T12:32:51.527476Z"},{"version":"0.8.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.8.2","has_docs":true,"inserted_at":"2025-11-20T17:58:16.720196Z"},{"version":"0.8.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.8.1","has_docs":true,"inserted_at":"2025-11-20T13:35:16.250938Z"},{"version":"0.8.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.8.0","has_docs":true,"inserted_at":"2025-11-19T20:26:20.192067Z"},{"version":"0.7.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.7.1","has_docs":true,"inserted_at":"2025-11-08T15:50:44.377171Z"},{"version":"0.7.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.7.0","has_docs":true,"inserted_at":"2025-11-08T15:32:21.100584Z"},{"version":"0.6.4","url":"https://hex.pm/api/packages/ash_typescript/releases/0.6.4","has_docs":true,"inserted_at":"2025-11-03T13:09:40.432122Z"},{"version":"0.6.3","url":"https://hex.pm/api/packages/ash_typescript/releases/0.6.3","has_docs":true,"inserted_at":"2025-11-01T18:44:37.271164Z"},{"version":"0.6.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.6.2","has_docs":true,"inserted_at":"2025-10-28T22:09:15.433793Z"},{"version":"0.6.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.6.1","has_docs":true,"inserted_at":"2025-10-27T22:38:44.399279Z"},{"version":"0.6.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.6.0","has_docs":true,"inserted_at":"2025-10-21T21:44:24.801144Z"},{"version":"0.5.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.5.0","has_docs":true,"inserted_at":"2025-10-13T09:07:17.561628Z"},{"version":"0.4.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.4.0","has_docs":true,"inserted_at":"2025-09-29T15:15:11.338261Z"},{"version":"0.3.3","url":"https://hex.pm/api/packages/ash_typescript/releases/0.3.3","has_docs":true,"inserted_at":"2025-09-20T21:48:22.833131Z"},{"version":"0.3.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.3.2","has_docs":true,"inserted_at":"2025-09-20T20:43:40.264439Z"},{"version":"0.3.1","url":"https://hex.pm/api/packages/ash_typescript/releases/0.3.1","has_docs":true,"inserted_at":"2025-09-20T20:07:35.547979Z"},{"version":"0.2.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.2.0","has_docs":true,"inserted_at":"2025-09-17T01:00:30.273346Z"},{"version":"0.1.2","url":"https://hex.pm/api/packages/ash_typescript/releases/0.1.2","has_docs":true,"inserted_at":"2025-09-15T16:17:30.213407Z"},{"version":"0.1.0","url":"https://hex.pm/api/packages/ash_typescript/releases/0.1.0","has_docs":true,"inserted_at":"2025-09-13T17:37:36.578707Z"}],"html_url":"https://hex.pm/packages/ash_typescript","latest_version":"0.19.0","downloads":{"all":95011,"day":844,"recent":42727,"week":4471},"security_advisories":[{"id":"EEF-CVE-2026-82731","aliases":["CVE-2026-82731","GHSA-6g23-p936-fm2f"],"references":[{"type":"PACKAGE","url":"https://hex.pm/packages/ash_typescript"},{"type":"FIX","url":"https://github.com/ash-project/ash_typescript/commit/5165f752f5f92b755d946f2d1ce750ff69083ffc"},{"type":"ADVISORY","url":"https://github.com/ash-project/ash_typescript/security/advisories/GHSA-6g23-p936-fm2f"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-82731.html"}],"summary":"Unescaped path parameters in AshTypescript generated TypeScript client allow request redirection","api_url":"https://api.osv.dev/v1/vulns/EEF-CVE-2026-82731","published_at":"2026-09-01T02:09:38Z","html_url":"https://osv.dev/vulnerability/EEF-CVE-2026-82731","cvss_score":2.3,"cvss_rating":"low","cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:N/SA:N","modified_at":"2026-09-08T03:30:04Z","withdrawn_at":null,"affected":[">= 0.15.0 and < 0.18.0"]},{"id":"EEF-CVE-2026-74837","aliases":["CVE-2026-74837","GHSA-mhxc-mhqx-3v28"],"references":[{"type":"ADVISORY","url":"https://github.com/ash-project/ash_typescript/security/advisories/GHSA-mhxc-mhqx-3v28"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-74837.html"},{"type":"FIX","url":"https://github.com/ash-project/ash_typescript/commit/df95df4b9afdca5e5bbce32dbd566ccc49a7f14b"},{"type":"PACKAGE","url":"https://hex.pm/packages/ash_typescript"}],"summary":"Unbounded atom creation from client-supplied RPC field names in AshTypescript field formatter","api_url":"https://api.osv.dev/v1/vulns/EEF-CVE-2026-74837","published_at":"2026-09-01T02:09:30Z","html_url":"https://osv.dev/vulnerability/EEF-CVE-2026-74837","cvss_score":8.7,"cvss_rating":"high","cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","modified_at":"2026-09-08T03:45:06Z","withdrawn_at":null,"affected":[">= 0.1.0 and < 0.18.0"]},{"id":"EEF-CVE-2026-82733","aliases":["CVE-2026-82733","GHSA-ghhw-qh7p-55xr"],"references":[{"type":"ADVISORY","url":"https://github.com/ash-project/ash_typescript/security/advisories/GHSA-ghhw-qh7p-55xr"},{"type":"PACKAGE","url":"https://hex.pm/packages/ash_typescript"},{"type":"FIX","url":"https://github.com/ash-project/ash_typescript/commit/dec80e29543f96e43eeece8501376562f17ac638"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-82733.html"}],"summary":"Route handler return value echoed into AshTypescript error response","api_url":"https://api.osv.dev/v1/vulns/EEF-CVE-2026-82733","published_at":"2026-09-01T02:09:22Z","html_url":"https://osv.dev/vulnerability/EEF-CVE-2026-82733","cvss_score":6.3,"cvss_rating":"medium","cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","modified_at":"2026-09-08T03:45:10Z","withdrawn_at":null,"affected":[">= 0.15.0 and < 0.18.0"]},{"id":"EEF-CVE-2026-82732","aliases":["CVE-2026-82732","GHSA-f7fq-hwq6-jhvv"],"references":[{"type":"FIX","url":"https://github.com/ash-project/ash_typescript/commit/21ab6f1229a4dccdb56bc37ed437d9672a0c4a4e"},{"type":"ADVISORY","url":"https://github.com/ash-project/ash_typescript/security/advisories/GHSA-f7fq-hwq6-jhvv"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-82732.html"},{"type":"PACKAGE","url":"https://hex.pm/packages/ash_typescript"}],"summary":"Declared argument constraints not enforced on AshTypescript typed controller routes","api_url":"https://api.osv.dev/v1/vulns/EEF-CVE-2026-82732","published_at":"2026-09-01T02:09:15Z","html_url":"https://osv.dev/vulnerability/EEF-CVE-2026-82732","cvss_score":6.3,"cvss_rating":"medium","cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","modified_at":"2026-09-08T03:30:04Z","withdrawn_at":null,"affected":[">= 0.15.0 and < 0.18.0"]},{"id":"EEF-CVE-2026-82730","aliases":["CVE-2026-82730","GHSA-6929-rjmh-4x62"],"references":[{"type":"FIX","url":"https://github.com/ash-project/ash_typescript/commit/aa7f9f1967b0bec806ac1156142267e805d70a55"},{"type":"ADVISORY","url":"https://github.com/ash-project/ash_typescript/security/advisories/GHSA-6929-rjmh-4x62"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-82730.html"},{"type":"PACKAGE","url":"https://hex.pm/packages/ash_typescript"}],"summary":"Authorization-redacted field values disclosed through AshTypescript result normalization","api_url":"https://api.osv.dev/v1/vulns/EEF-CVE-2026-82730","published_at":"2026-09-01T02:09:01Z","html_url":"https://osv.dev/vulnerability/EEF-CVE-2026-82730","cvss_score":8.2,"cvss_rating":"high","cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","modified_at":"2026-09-08T03:45:07Z","withdrawn_at":null,"affected":[">= 0.11.0 and < 0.18.0"]},{"id":"EEF-CVE-2026-77950","aliases":["CVE-2026-77950","GHSA-mjr7-r3rf-x963"],"references":[{"type":"ADVISORY","url":"https://github.com/ash-project/ash_typescript/security/advisories/GHSA-mjr7-r3rf-x963"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-77950.html"},{"type":"FIX","url":"https://github.com/ash-project/ash_typescript/commit/59d8e985a98cf2e01794dbe5b919b897a95311f4"},{"type":"PACKAGE","url":"https://hex.pm/packages/ash_typescript"}],"summary":"RPC error handler fails open in AshTypescript, disclosing unredacted errors","api_url":"https://api.osv.dev/v1/vulns/EEF-CVE-2026-77950","published_at":"2026-09-01T02:08:54Z","html_url":"https://osv.dev/vulnerability/EEF-CVE-2026-77950","cvss_score":6.3,"cvss_rating":"medium","cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","modified_at":"2026-09-08T03:45:05Z","withdrawn_at":null,"affected":[">= 0.8.0 and < 0.18.0"]},{"id":"EEF-CVE-2026-77856","aliases":["CVE-2026-77856","GHSA-rj47-h936-4cxw"],"references":[{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-77856.html"},{"type":"FIX","url":"https://github.com/ash-project/ash_typescript/commit/0ab5c83a7df28d51a6de1fb9b859a142b2b12919"},{"type":"ADVISORY","url":"https://github.com/ash-project/ash_typescript/security/advisories/GHSA-rj47-h936-4cxw"},{"type":"PACKAGE","url":"https://hex.pm/packages/ash_typescript"}],"summary":"Unbounded atom creation from typed struct field names in AshTypescript field selector","api_url":"https://api.osv.dev/v1/vulns/EEF-CVE-2026-77856","published_at":"2026-09-01T02:08:46Z","html_url":"https://osv.dev/vulnerability/EEF-CVE-2026-77856","cvss_score":8.2,"cvss_rating":"high","cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","modified_at":"2026-09-08T03:45:06Z","withdrawn_at":null,"affected":[">= 0.11.0 and < 0.18.0"]}],"docs_html_url":"https://ash-typescript.hexdocs.pm/","retirements":{"0.14.0":{"message":"Always rewrote generated files even no changes occurred.","reason":"other"},"0.15.1":{"message":"Breaking bug in codegen","reason":"invalid"},"0.15.2":{"message":"Breaking bug in codegen","reason":"invalid"}},"configs":{"erlang.mk":"dep_ash_typescript = hex 0.19.0","mix.exs":"{:ash_typescript, \"~> 0.19.0\"}","rebar.config":"{ash_typescript, \"0.19.0\"}"},"latest_stable_version":"0.19.0"}