{"_id":"@a1liu/solidarity-tech-api","_rev":"12-8840adf4565527ff453a0e1f4767ac7b","name":"@a1liu/solidarity-tech-api","dist-tags":{"latest":"0.1.16"},"versions":{"0.1.5":{"name":"@a1liu/solidarity-tech-api","version":"0.1.5","author":{"name":"Ben Packer","email":"ben.paul.ryan.packer@gmail.com"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.5","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/uaw-union/solidarity-tech-js","bugs":{"url":"https://github.com/uaw-union/solidarity-tech-js/issues"},"dist":{"shasum":"d5faad63dc35a40d156908f7c1d60b245c361b19","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.5.tgz","fileCount":12,"integrity":"sha512-OMlxobDYaEupCt/PNcrXiuowgwBHO2jkIb4IPubOkFLn6LaD2q5wGpQRCdkKHFpDbF6J8ldokuk++CoX/5Ch0Q==","signatures":[{"sig":"MEQCIBbS0yRnTlT54c9iGwAamn2/IxltsH1tD2zfaWFXXKzDAiB71guAuWF/tyafb9nMt5RtQJC1UpCjcT1csU66EsqamQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631927},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"96a54e532b0e8ebcbd7562e781c60f593ec15b18","scripts":{"compile":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"a1liu","email":"albertymliu@gmail.com"},"repository":{"url":"git+ssh://git@github.com/uaw-union/solidarity-tech-js.git","type":"git"},"_npmVersion":"10.9.2","description":"This is simply the solidarity.tech [API generator](https://docs.solidarity.tech/reference/solidarity-tech-api) compiled to be published as an npm package for use in environments that don't support folders well (or importing JSON), such as [Windmill script","directories":{},"_nodeVersion":"22.17.1","dependencies":{"api":"^6.1.1","oas":"^24.3.6","json-schema-to-ts":"^3.1.0","@api/solidarity-tech":"file:.api/apis/solidarity-tech"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.5_1781067487353_0.8716419363786863","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@a1liu/solidarity-tech-api","version":"0.1.6","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.6","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"449187d056c5102cc59874784ac72b68e0405a2e","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.6.tgz","fileCount":12,"integrity":"sha512-2dAVCNCe4h8VHQRzmLVqWsjdRtRLK9OPw8QBlZ3NCUd41xQ5/6EJokrOHCFpPnxnimErw+CIi5KM35AhxNMtJQ==","signatures":[{"sig":"MEQCICeb46mBzwHuuSBEJX3JO5YhcDGaDRvAzoPDxMoSdZoiAiAcn0wMpZmbKcu2ZIXtPh86/OiP8JaYhJq1OiXMWb9lkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":631877},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b9502c9eba97c0b6179109245becfa8811b12f65","scripts":{"compile":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"This is simply the solidarity.tech [API generator](https://docs.solidarity.tech/reference/solidarity-tech-api) compiled to be published as an npm package for use in environments that don't support folders well (or importing JSON), such as [Windmill script","directories":{},"_nodeVersion":"24.16.0","dependencies":{"api":"^6.1.1","oas":"^24.3.6","json-schema-to-ts":"^3.1.0","@api/solidarity-tech":"file:.api/apis/solidarity-tech"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.6_1781408809103_0.9813919112844804","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@a1liu/solidarity-tech-api","version":"0.1.7","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.7","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"3178f666627d9e2d6bb66ed2b2f09e02390a9a2c","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.7.tgz","fileCount":11,"integrity":"sha512-NkFJJiPbfo2NYYA/OXaZqN3oSARVr/TrSFRapOBI2iMFMDKnpHkZ2dgRQk5rPTGW/GAlXj5VqvbJVqmNrUIodA==","signatures":[{"sig":"MEUCIDgbdg1LgrafUv/eFv8Bm7Y6V+y5cZ+dBrcW38H42cUxAiEA8YWLKCEVHkWBLN9HbBdOK9Z3V5aEEyRuFWBMfs1m9G8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63738},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"685808a55b5b27a6630ded8cf6449a4a7b263ae9","scripts":{"update":"./script.sh","compile":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"This is simply the solidarity.tech [API generator](https://docs.solidarity.tech/reference/solidarity-tech-api) compiled to be published as an npm package for use in environments that don't support folders well (or importing JSON), such as [Windmill script","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.7_1781980487772_0.7628831870860231","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@a1liu/solidarity-tech-api","version":"0.1.8","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.8","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"e5a16a13b7cb26bf0306a5d0f3eba7c929171b0d","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.8.tgz","fileCount":11,"integrity":"sha512-E61beYZ4P1S7sgdJ+Kb7pPQcGLnphid6CT5eOB/lc9JD7fZrA97JWxyFgY0t56uSFIOue1rGYyl4uvWAZbcgMw==","signatures":[{"sig":"MEUCIQD5LOMhVg/KBOrNEdimY2I40fWsqI+nsawiO6QSuFbJgQIgTXlDkEPTvrBXwVgQkNw2OU4N9mfQ0LAikzDf21voHMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63846},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d94a93a71b220bb5c9faa22c5ed6fa64f1d2a51c","scripts":{"update":"./script.sh","compile":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"This is simply the solidarity.tech [API generator](https://docs.solidarity.tech/reference/solidarity-tech-api) compiled to be published as an npm package for use in environments that don't support folders well (or importing JSON), such as [Windmill script","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.8_1781984033206_0.037147976458207665","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@a1liu/solidarity-tech-api","version":"0.1.9","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.9","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"d2878c65b240dbbed0dc1c88ff9ffd9496162ab6","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.9.tgz","fileCount":13,"integrity":"sha512-vdkUZr5hGQ5DWgrA2yrcFRbg9+mIVm51Ay7fa4IapSzOKLHFtQCi0F2CYZCx1OHHzsc4z4jkgjIMGWyGHziooQ==","signatures":[{"sig":"MEQCIC/jq1087kjCmsKSZBpZfDrD3smh60EdwrGNU7NL/2EiAiBPNz86Tt2IsYM4p++rZF7KlCVYLG0d4c9qdGmxh1X92w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106060},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dd0031aabd8cd793806c45fdbd4c37af99d1621f","scripts":{"update":"./script.sh","compile":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"This is simply the solidarity.tech [API generator](https://docs.solidarity.tech/reference/solidarity-tech-api) compiled to be published as an npm package for use in environments that don't support folders well (or importing JSON), such as [Windmill script","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.9_1782007908794_0.4359965440098281","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@a1liu/solidarity-tech-api","version":"0.1.10","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.10","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"ac2abe4f1ff2859ab5e67114c1fd22bbc125aa3e","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.10.tgz","fileCount":13,"integrity":"sha512-/JsctQgPQh+dhequJbtaTL/niAbY2hd8mth2OXadWIMLOsjACvcjAEu43j6BKelUO6eMScjdyFL9ffS5QtVCgA==","signatures":[{"sig":"MEUCIBQYChBb5gBNHPMz130oyUYRXB/W6qySYpwMPIsTDuCrAiEAw5ejvMCggAaT67AdIdXNedUAW10HJihnbdiiJXzWWn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109197},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"9ec6dab926ca9318cff83f239ed643b865a5d5fb","scripts":{"update":"./script.sh","compile":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"This is simply the solidarity.tech [API generator](https://docs.solidarity.tech/reference/solidarity-tech-api) compiled to be published as an npm package for use in environments that don't support folders well (or importing JSON), such as [Windmill script","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.7","@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.10_1782009193955_0.9202728243452023","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@a1liu/solidarity-tech-api","version":"0.1.11","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.11","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"9c5b8d3f4a2e0235198df301a09a587ff51eb42c","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.11.tgz","fileCount":13,"integrity":"sha512-eZ+XCgmXPIgwfSkfLEtCfE5NtbwVqdyVDJGu3hgtihDQVtpVefzKtNcxKM8neu8zbdkVBeSksvheer6S2DP6IQ==","signatures":[{"sig":"MEYCIQDLa5VCNmiAmaXkAJ2nUJB2Mriz4giKUJY96p01YHcAAgIhANTcdY6Wq4/OcsY6Ae5FTSf/uDOwoajDFZfBV8pweCnn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109314},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"da2f4702fd9543d719b542981d8e19bfde019a1b","scripts":{"test":"vitest run","update":"./script.sh","compile":"tsc -p tsconfig.build.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"This is simply the solidarity.tech [API generator](https://docs.solidarity.tech/reference/solidarity-tech-api) compiled to be published as an npm package for use in environments that don't support folders well (or importing JSON), such as [Windmill script","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.7","@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.11_1782009774914_0.4383495818928185","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@a1liu/solidarity-tech-api","version":"0.1.12","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.12","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"de8ec3f096bc0c9d7dc1e5d59f3ae85020f10def","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.12.tgz","fileCount":19,"integrity":"sha512-1dSQSVhqahFF6p7SIgzF/T/Lp0TFfTmGAag9VKU/VpsJ6rp/JXtlkSRJtrtb4R4qH4kcwcLaP2zhezqoXwU1Fw==","signatures":[{"sig":"MEYCIQCncl1UC+fGvjcjDrdl7Riq8rzK29QxXMo7CWAN+g8ZggIhAO/D1LdSGV8u60QHQYIs2gHIfh5C3F3VRhbVHSSB1ERb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117921},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"4080e494c21478ab514bf546459e8a1e236bf9fb","scripts":{"format":"prettier --write .","update":"./script.sh","vitest":"vitest run","compile":"tsc -p tsconfig.build.json","test:script":"bun run ./scripts/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"AI-slop generated JS/TS SDK for Solidarity Tech API. Use at your own risk.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.7","prettier":"^3.8.3","@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.12_1782094503368_0.78704763309093","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@a1liu/solidarity-tech-api","version":"0.1.13","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.13","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"ff20e6d1128737fae4ee6c46ca43ab88db129f8a","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.13.tgz","fileCount":19,"integrity":"sha512-XFhnkkkoHymgYjsXBqRNlxEpG8zT1rIuW8P/Lm0ZOiMXd/vn8/WSct77DZ2lxz+OknTicvhmXGypHJnkn2QXhA==","signatures":[{"sig":"MEYCIQDPkNrgHKlOgrskBhCP0f7xR61wG47kN2YU0SSPWtTGtQIhAKG267y2SeoAYjyFnILHtSiC/QJT3DWuulxSq2jz1JPv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117957},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"322d0fcdde5b3a9d8dd5d3a60e750bef218e9648","scripts":{"format":"prettier --write .","update":"./script.sh","vitest":"vitest run","compile":"tsc -p tsconfig.build.json","test:script":"bun run ./scripts/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"AI-slop generated JS/TS SDK for Solidarity Tech API. Use at your own risk.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.7","prettier":"^3.8.3","@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.13_1782271106921_0.038808289503256876","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@a1liu/solidarity-tech-api","version":"0.1.14","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.14","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"b7703fd77544daa2ac48b874a4d3dd77542c15a9","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.14.tgz","fileCount":19,"integrity":"sha512-GW3tO0O5W9XmW6o5oLZWzeeQqzdCYi5fjy8UKlLCdfnEPrKK25zDB4DAdkDeI4t2bZMIsAq32sRJD7ShHz7akg==","signatures":[{"sig":"MEQCIGwdVPhFVJeurOLYJSQHezOax2MnZRaoTJN/YKI8HXUXAiBX528rhhb8MN0dO4xan98VPfizSCUCWBaeEjDu8a8h8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117951},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"91157847da887cd6419bd22944e3d576e3bc74a7","scripts":{"format":"prettier --write .","update":"./script.sh","vitest":"vitest run","compile":"tsc -p tsconfig.build.json","test:script":"bun run ./scripts/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.13.0","description":"AI-slop generated JS/TS SDK for Solidarity Tech API. Use at your own risk.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.7","prettier":"^3.8.3","@types/bun":"latest"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.14_1782594923940_0.2734443065195702","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@a1liu/solidarity-tech-api","version":"0.1.15","author":{"name":"Albert Liu"},"license":"MIT","_id":"@a1liu/solidarity-tech-api@0.1.15","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"homepage":"https://github.com/A1Liu/solidarity-tech-js","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"dist":{"shasum":"83d0ed40292b0b88f7ed90efa117d568c0fc49b3","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.15.tgz","fileCount":29,"integrity":"sha512-CPsDvM8hi/+9Tb2tUPrSfQ2V3SQEjYbiuaD4NK5fUugioOB68LUN49nVvomsGIljQ2BeVp35bwjheFvXFohnDA==","signatures":[{"sig":"MEUCIB7xrZoJbhsvDQszUjkhX+4SW7q8yvMjwVwMNZra0wJuAiEA4lrClnzTer9PVWU4tUILirg3dSAkEB0WHgcLH5GjWFE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":285305},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js"}},"gitHead":"9d10f534b95a04cd211de5789e60e075b29aa738","scripts":{"draft":"bun run ./scripts/draft.ts","probe":"bun run ./scripts/probe.ts","format":"prettier --write .","update":"bun run ./scripts/update.ts","vitest":"vitest run","capture":"bun run ./scripts/capture.ts","compile":"rm -rf dist && tsc -p tsconfig.build.json","test:script":"bun run ./scripts/test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"repository":{"url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git","type":"git"},"_npmVersion":"11.19.0","description":"A typed JS/TS client for the [Solidarity Tech](https://solidarity.tech) API (`https://api.solidarity.tech/v1`).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3"},"typesVersions":{"*":{"types":["./dist/types.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.7","prettier":"^3.8.3","genson-js":"^0.0.8","@types/bun":"latest","@faker-js/faker":"^10.5.0","json-schema-to-zod":"^2.8.1"},"peerDependencies":{"typescript":"^5.0.0"},"trustedDependencies":["es5-ext"],"_npmOperationalInternal":{"tmp":"tmp/solidarity-tech-api_0.1.15_1788831306221_0.31476253393409315","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@a1liu/solidarity-tech-api","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","default":"./dist/types.js"}},"typesVersions":{"*":{"types":["./dist/types.d.ts"]}},"version":"0.1.16","devDependencies":{"@faker-js/faker":"^10.5.0","@types/bun":"latest","genson-js":"^0.0.8","json-schema-to-zod":"^2.8.1","prettier":"^3.8.3","vitest":"^4.1.7"},"peerDependencies":{"typescript":"^5.0.0"},"scripts":{"compile":"rm -rf dist && tsc -p tsconfig.build.json","probe":"bun run ./scripts/probe.ts","capture":"bun run ./scripts/capture.ts","draft":"bun run ./scripts/draft.ts","test:script":"bun run ./scripts/test.ts","vitest":"vitest run","format":"prettier --write .","update":"bun run ./scripts/update.ts"},"dependencies":{"zod":"^4.4.3"},"repository":{"type":"git","url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git"},"author":{"name":"Albert Liu"},"license":"MIT","homepage":"https://github.com/A1Liu/solidarity-tech-js","trustedDependencies":["es5-ext"],"gitHead":"32d8ed99a14e087356e0831c4e6049b33f9d252d","_id":"@a1liu/solidarity-tech-api@0.1.16","description":"A typed JS/TS client for the [Solidarity Tech](https://solidarity.tech) API (`https://api.solidarity.tech/v1`).","bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-ChHlN7HPD3wosAmjgz2/FGzTUZs2XEXoUNClq5gxioG4n9JsjJHG2jfl2MgHaXh1kIeyO82PCIJ8GbGP66ojVw==","shasum":"d98cdb3d125d39981ddcd80522987de400b9d2f8","tarball":"https://registry.npmjs.org/@a1liu/solidarity-tech-api/-/solidarity-tech-api-0.1.16.tgz","fileCount":29,"unpackedSize":287894,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@a1liu%2fsolidarity-tech-api@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCItIKYXXEO1mIvvAicQEqd/jWrKoil3DEBB17siDBjfQIgED+sjoS0JgWVlhDcPf2dSb+PiVsD6NAC1Qg+lX4yyN0="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f35c5a0-61d7-41ab-8c8f-a0e0bdac576f"}},"directories":{},"maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/solidarity-tech-api_0.1.16_1789191124092_0.21026182097098833"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-10T04:58:07.237Z","modified":"2026-09-12T05:32:04.541Z","0.1.5":"2026-06-10T04:58:07.477Z","0.1.6":"2026-06-14T03:46:49.289Z","0.1.7":"2026-06-20T18:34:47.890Z","0.1.8":"2026-06-20T19:33:53.361Z","0.1.9":"2026-06-21T02:11:48.937Z","0.1.10":"2026-06-21T02:33:14.096Z","0.1.11":"2026-06-21T02:42:55.058Z","0.1.12":"2026-06-22T02:15:03.512Z","0.1.13":"2026-06-24T03:18:27.074Z","0.1.14":"2026-06-27T21:15:24.079Z","0.1.15":"2026-09-08T01:35:06.340Z","0.1.16":"2026-09-12T05:32:04.240Z"},"bugs":{"url":"https://github.com/A1Liu/solidarity-tech-js/issues"},"author":{"name":"Albert Liu"},"license":"MIT","homepage":"https://github.com/A1Liu/solidarity-tech-js","repository":{"type":"git","url":"git+ssh://git@github.com/A1Liu/solidarity-tech-js.git"},"description":"A typed JS/TS client for the [Solidarity Tech](https://solidarity.tech) API (`https://api.solidarity.tech/v1`).","maintainers":[{"name":"a1liu","email":"albertymliu@gmail.com"}],"readme":"# solidarity-tech-api\n\nA typed JS/TS client for the [Solidarity Tech](https://solidarity.tech) API\n(`https://api.solidarity.tech/v1`).\n\n**NOTE: THIS IS NOT PRODUCTION READY, and will experience constant breaking changes.\nPlease pin to an exact version if you would like to use this, and expect large\nbreaking changes upon update.**\n\nMuch of this SDK started life generated from Solidarity Tech's OpenAPI document,\nwhich is stale and wrong in both directions — it declares operations the API\nanswers 404 for, and omits ones it serves. **Live responses are the source of\ntruth here**; the document is a source of leads to go check. Endpoints are\ntherefore split into **verified** and **provisional** (see\n[Endpoint status](#endpoint-status)). Use provisional endpoints at your own risk.\n\n## Usage\n\n```typescript\nimport { createClient } from \"@a1liu/solidarity-tech-api\";\n\nconst client = createClient({ apiKey: \"<YOUR API KEY>\" });\n\nconst res = await client.listEvents({ _limit: 100, _offset: 0 });\nif (res.ok) {\n  for (const event of res.data.data) console.log(event.title);\n} else {\n  console.error(res.error.type, res.error.message);\n}\n```\n\nCalls never throw for HTTP, network, or validation failures — every endpoint\nresolves to an `ApiResult<T>`, which is `{ ok: true, data }` or\n`{ ok: false, error }`. Successful bodies are validated with Zod before they are\nreturned, so a `data` you receive matches its declared type.\n\nEvery result also carries the response `headers`, so rate-limit information is\nreachable without wrapping `fetch`. `retryAfterMs` reads a `Retry-After` header\n(seconds or HTTP date) into milliseconds:\n\n```typescript\nimport { retryAfterMs } from \"@a1liu/solidarity-tech-api\";\n\nconst res = await client.createUser(body);\nif (!res.ok && res.status === 429) {\n  await sleep(retryAfterMs(res.headers) ?? 30_000);\n}\n```\n\n`createClient` binds your configuration into every endpoint. The underlying\nfunctions are also exported directly, each taking `ClientConfig` first:\n\n```typescript\nimport { listEvents } from \"@a1liu/solidarity-tech-api\";\n\nawait listEvents({ apiKey: \"<YOUR API KEY>\" }, { _limit: 100 });\n```\n\n## Endpoint status\n\n|               | Verified                       | Provisional                    |\n| ------------- | ------------------------------ | ------------------------------ |\n| Lives in      | `endpoints/*.ts`               | `endpoints-unverified-stub.ts` |\n| Response type | a real Zod schema              | `unknown`                      |\n| Backed by     | a live sample + a passing test | the OpenAPI document only      |\n\nBoth are exported the same way; the difference is how much the types are worth.\nA provisional endpoint's path and parameters come from the document, and the\ndocument is known to be wrong in places — `DELETE /agent_assignments/{id}` is\ndeclared but answers 404, for example. Verified endpoints have been checked\nagainst live responses.\n\nToday: **8 verified resource modules / 21 endpoint functions**, and **47\nprovisional functions** still in the stub.\n\n## Development\n\n```\nbun install\ncp .env.example .env      # add API_KEY for the live scripts\n```\n\n| Command                       | What it does                                 | Network     |\n| ----------------------------- | -------------------------------------------- | ----------- |\n| `bun run vitest`              | Unit tests and fixture validation            | no          |\n| `bun run compile`             | Build `dist/`                                | no          |\n| `bun run format`              | Prettier                                     | no          |\n| `bun run draft`               | Regenerate Zod drafts from committed data    | no          |\n| `bun run probe [resource…]`   | Ask the API which resources exist            | read-only   |\n| `bun run capture [resource…]` | Sample live list responses into fixtures     | read-only   |\n| `bun run scripts/audit.ts`    | Live schema-coverage check                   | **mutates** |\n| `bun run update`              | Refresh the vendored OpenAPI document (lead) | read-only   |\n\nThe audit creates and deletes rows. Point `API_KEY` at a throwaway account,\nnever production.\n\n## Graduating a resource from provisional to verified\n\nThis is the core contribution loop: it turns one resource's `unknown` responses\ninto checked types.\n\nThe whole process is about **authority** — every source here is a real response,\nand each decides exactly one thing. Nearly every mistake is a source used outside\nits authority.\n\n| Source                    | Decides                             | Never decides                        |\n| ------------------------- | ----------------------------------- | ------------------------------------ |\n| A probe (`probe`)         | whether the operation exists at all | anything about the shape             |\n| A live sample (`capture`) | shape, key presence, string formats | which fields can be null             |\n| Committed fixture         | what the shape _was_ — regression   | anything a small account cannot show |\n| The audit's live run      | mutation and item envelopes         | —                                    |\n\nThe OpenAPI document is not on this list. It decides nothing, and no code reads\nit — it is where candidate names come from, and nothing more.\n\n**Nullability has no authority.** No source settles it: a sample can prove a\nfield _is_ sometimes null, but never that it cannot be. Where the sample is\nsilent, model defensively and say in a comment that you did.\n\n### 1. Confirm the resource is real\n\n```\nbun run probe team_members\n```\n\nThis asks the live API for `GET /team_members` and, if a row comes back, for\n`GET /team_members/{id}`, then records both statuses in\n`tests/data/inventory.json`. That file is the SDK's inventory: `capture`, `draft`\nand the audit all walk it, so a resource that answers 404 never becomes work.\n\nRun it with no arguments to re-check everything already in the manifest. Failures\nstay in the file with their status — \"asked, and it is not there\" is worth\nkeeping, or the next person re-derives the same wrong endpoint from the same\ndocument.\n\n### 2. Sample the resource\n\n```\nbun run capture team_members\n```\n\nThis writes `tests/data/<resource>.json`, and `<resource>.item.json` as well\nwhen the resource has a `/{id}` GET — an item response is a different shape, not\na subset, and `GET /organizations/{id}` returns `parent` and `children` that the\ncollection omits entirely.\n\n**Personal data is removed in memory before anything touches disk**, so the\nguarantee does not depend on a `.gitignore` entry being right. The scrubber\nreplaces every string with a generated stand-in of the same shape, so an ISO\ndate stays an ISO date and an email stays email-shaped, but no real value\nsurvives. A string is kept verbatim only when **one of this SDK's own schemas**\ndeclares its key as a closed set (`z.enum`, or a union of `z.literal`) and the\nvalue is one of that set's members.\n\nThat ordering matters: a resource with no schema yet gets no exemptions, so its\nfirst capture scrubs everything. If you later add a `z.enum` to its schema, the\ncommitted fixture stops parsing in `tests/fixtures.ts` — its values were replaced\nwith stand-ins — and the fix is to re-capture. The failure is what tells you to.\n\nBecause formats survive scrubbing, **the fixture is authority on format**. This\nis how we learned that `team_members.last_app_activity_at` is a plain\n`YYYY-MM-DD` date, not the offset datetime the document declares.\n\n**A missing fixture is the request to fetch it**, decided per file — so a\nresource whose list fixture is already committed still gets its item fixture\ncaptured. To replace a fixture that exists, delete it and re-run, or name the\nresource: `bun run capture users` overwrites both of its fixtures.\n\nSome fixtures back hand-written value assertions (`tests/data/events.json` backs\n`tests/events.ts`), so overwrite those only when you mean to update the\nassertions too.\n\nSome resources return no rows on a small account and can never be captured. There\nis no substitute material — leave the resource provisional rather than typing it\nfrom a document, which is how a schema that rejects live data gets shipped.\n\n### 3. Read what the sample leaves open\n\n```\nbun run draft\n```\n\nEach `tests/data/drafts/<resource>.ts` holds what the committed fixtures infer:\n\n- `fixtureResponse` — from the list sample. Live truth, but a thin one: a column\n  that is null in every row infers `z.null()`, and an always-empty array infers\n  `z.array(z.any())`.\n- `itemResponse` — from the `/{id}` sample, when there is one. A second contract,\n  not a subset.\n\nEvery draft opens with a **What this sample does NOT decide** block — row count,\nalways-null fields, always-empty arrays, fields with a single distinct value.\nSample thinness is a property of the account rather than of the page size:\nseveral resources hold one row that no `_limit` will widen. Nothing settles those\nfields for you; close them with more evidence, or model them defensively and say\nso in a comment.\n\nDrafts are committed, value-free, and generated offline, so a live shape change\nshows up as a diff in code review. A draft whose fixture is deleted is deleted\ntoo — a draft that outlives its sample describes a shape nothing verified.\n\n### 4. Write the endpoint module by hand\n\nCreate `endpoints/<resource>.ts`. **Do not paste a draft in unedited** — the\nreconciliation is the work, and it is why this step is not automated. An\nauto-merge would have taken the document's `.datetime()` for\n`last_app_activity_at` and shipped a schema that rejects live data.\n\nBuild the element schema from the fixture, decide each undecided field\ndeliberately, then compose the envelope with the helpers in `schemas.ts`:\n\n```typescript\nexport const StThingsResponse = listResponse(StThing); // GET /things\nexport const StThingResponse = itemResponse(StThing); // GET /things/{id}\nexport const StThingMutationResponse = mutationResponse(StThing); // POST, PUT\n```\n\nThose three are the only envelopes the API uses; note that a mutation carries no\npagination `meta`.\n\nConventions: schemas are `St`-prefixed consts with a same-named inferred type,\nrequest bodies are plain interfaces, and every function takes `ClientConfig`\nfirst and returns `ApiResult<T>`.\n\nComment what you could not verify. Where nullability was assumed rather than\nobserved, say so — the next person needs to know which parts of the schema are\nevidence and which are inference.\n\nIf the resource has a genuinely closed set of string values, declare it as\n`z.enum` here. That is also what tells the scrubber to keep those values in the\nfixture, so re-capture after adding one.\n\n### 5. Register the schemas\n\nAdd the list schema to `modeled` in `scripts/resource-schemas.ts`, and the item\nschema to `modeledItems`. One line each arms both guards at once:\n`tests/fixtures.ts` now fails the build if the schema drifts from the committed\nfixture, and `scripts/audit.ts` now diffs it against a live response instead of\nreporting \"no schema yet\".\n\n### 6. Move the functions out of the stub\n\nDelete the resource's section from `endpoints-unverified-stub.ts`, add the\nfunctions to your module with real response schemas, and register the module in\n`index.ts` (both the `Endpoints` spread and the `export type *` list).\n\n### 7. Settle the mutation responses\n\nMutation response bodies are learned the only way they can be: by running one.\nThat is what the audit's mutation cases do — a create → show → update → delete\nlifecycle, with the delete in a `finally`.\n\nAdd a case to `buildCases` in `scripts/audit.ts`, leaving `expectedCreate` and\n`expectedUpdate` unset on the first run. The run reports the live shape as \"no\nschema yet\", and you author the schema from that report.\n\n**A case may only exist if it can delete what it creates.** Unlike reads, this\ncannot be established by asking first: probing a `POST` risks leaving a row\nbehind, and a `DELETE` that works has destroyed the thing it was asking about.\nSo the case's own first run is the experiment — run it by itself, on a throwaway\naccount, and read the cleanup line. When the delete fails, remove the case,\nrecord the resource in `undrivable` in `scripts/audit.ts` with the evidence, and\nremove the row by hand. `agent_assignments` is there because a run orphaned a\nrow: its `DELETE /{id}` is documented, and answers 404.\n\n### 8. Verify\n\n```\nbunx tsc --noEmit\nbun run vitest\nbun run scripts/audit.ts   # mutates\n```\n\nThe audit should list your resource under covered list endpoints, plus\n`<resource> GET/{id}` when an item schema is modeled, with no cleanup warning.\n\n## Architecture\n\n- `client.ts` — auth, URL and query building, transport, Zod validation, and\n  `ApiResult` semantics.\n- `endpoints/*.ts` — verified endpoints, grouped by resource.\n- `endpoints-unverified-stub.ts` — provisional endpoints.\n- `schemas.ts` — shared schemas (`paginationMeta`, `ListParams`, …), the\n  `listResponse` / `itemResponse` / `mutationResponse` envelope helpers, and\n  public types.\n- `index.ts` — public exports and `createClient`.\n- `scripts/resources.ts` — the resource inventory, read from\n  `tests/data/inventory.json`. Nothing here is hand-maintained, and nothing here\n  reads the OpenAPI document.\n- `scripts/declared-enums.ts` — the closed sets this SDK's own schemas declare,\n  which is what the scrubber lets survive a capture.\n- `tests/data/` — `inventory.json` (what the live API answered when last asked),\n  scrubbed fixtures, and generated drafts.\n","readmeFilename":"README.md"}