{"_id":"@avenlabs/halal-trace-sdk","_rev":"7-44ea14a2eb38385e4036368f12ba749e","name":"@avenlabs/halal-trace-sdk","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.1":{"name":"@avenlabs/halal-trace-sdk","version":"0.1.1","_id":"@avenlabs/halal-trace-sdk@0.1.1","maintainers":[{"name":"avenbreaks","email":"joywibowo10@gmail.com"}],"dist":{"shasum":"5c77549ffed6b1c2019393f06e4ff328f9f98164","tarball":"https://registry.npmjs.org/@avenlabs/halal-trace-sdk/-/halal-trace-sdk-0.1.1.tgz","fileCount":21,"integrity":"sha512-r3GZ/A7rtUClaxdNyB6bXVO4jtW77edR7KQrQ+9e4+efgALXzPWWMCjAm8IQm5pkgKY6E4NFxqa08/aM9fkGyw==","signatures":[{"sig":"MEYCIQDVz50ehUDIZJfr8XRG7ImT2PGH7+QC9/JDb+j6CCUEPAIhALHsh6yqovt5MgdCBpZ2zgpSCa3SIFFv/iSHDh/GfWtq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98338},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"36cf9bba2c0a7dbea2438141eac76df7fe357119","private":false,"scripts":{"lint":"eslint .","test":"vitest","build":"tsc -p tsconfig.json","format":"prettier --write ."},"_npmUser":{"name":"avenbreaks","email":"joywibowo10@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript SDK for Halal Trace API.","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.6.0","vitest":"^2.0.4","prettier":"^3.3.2","typescript":"^5.5.4","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/halal-trace-sdk_0.1.1_1769389844288_0.14155511622244354","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@avenlabs/halal-trace-sdk","version":"0.1.2","_id":"@avenlabs/halal-trace-sdk@0.1.2","maintainers":[{"name":"avenbreaks","email":"joywibowo10@gmail.com"}],"dist":{"shasum":"2ffa8f08709a64401579a6515b1bf52a341844b4","tarball":"https://registry.npmjs.org/@avenlabs/halal-trace-sdk/-/halal-trace-sdk-0.1.2.tgz","fileCount":24,"integrity":"sha512-2Pesfo4mnDgMYNXT3418Cl0xKrDXDLq3TTz09pbSGnwiMLArXw1w5jpu2Ww3th6Nt1+GufgM4DybsoET28y8ig==","signatures":[{"sig":"MEQCIChfC63hbolNZqKTVEAQuX46PnU6CfuT2v/q4FtZs9Y3AiAkmXsn2hTWs/vUTDrzb+v695GEWQRw9f3odt8dltrRlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98670},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"36cf9bba2c0a7dbea2438141eac76df7fe357119","private":false,"scripts":{"lint":"eslint .","test":"vitest","build":"tsc -p tsconfig.json","format":"prettier --write ."},"_npmUser":{"name":"avenbreaks","email":"joywibowo10@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript SDK for Halal Trace API.","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.6.0","vitest":"^2.0.4","prettier":"^3.3.2","typescript":"^5.5.4","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/halal-trace-sdk_0.1.2_1769403212124_0.5775827199553702","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@avenlabs/halal-trace-sdk","version":"0.1.3","_id":"@avenlabs/halal-trace-sdk@0.1.3","maintainers":[{"name":"avenbreaks","email":"joywibowo10@gmail.com"}],"dist":{"shasum":"dff2868a2f6c9df4cbb16dbebaac6a0e0091032d","tarball":"https://registry.npmjs.org/@avenlabs/halal-trace-sdk/-/halal-trace-sdk-0.1.3.tgz","fileCount":24,"integrity":"sha512-iYL/0QIyuJIQ7dV2yNdKk5ZMhgCOSRa0GQxyUNiSG4K716YOdJK7aVruTKVBWiyfaC+1SZaC+u6NQY3Weh+Nvw==","signatures":[{"sig":"MEQCIDEMbMboDgb2IYaqHdpYOOfiFKNbwXsBrsoaqgxMTd65AiAXuabgxBRs/q5l8GI9WEOaQhlMXto084BabdDIB7iNIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98715},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"dc192f56ed424665aec517af3d938ea6fda5f76b","private":false,"scripts":{"lint":"eslint .","test":"vitest","build":"tsc -p tsconfig.json","format":"prettier --write ."},"_npmUser":{"name":"avenbreaks","email":"joywibowo10@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript SDK for Halal Trace API.","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.6.0","vitest":"^2.0.4","prettier":"^3.3.2","typescript":"^5.5.4","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/halal-trace-sdk_0.1.3_1769403491459_0.7898281171178436","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@avenlabs/halal-trace-sdk","version":"0.1.4","_id":"@avenlabs/halal-trace-sdk@0.1.4","maintainers":[{"name":"avenbreaks","email":"joywibowo10@gmail.com"}],"dist":{"shasum":"54b8fe98400d55e80369485e4ece474cf9469ebe","tarball":"https://registry.npmjs.org/@avenlabs/halal-trace-sdk/-/halal-trace-sdk-0.1.4.tgz","fileCount":24,"integrity":"sha512-hLXNFJjWN36Vg5uUhcSLY0ZSyHG1koR3r5+O/f6+i1f78x+YhJYNNo9zDGAjJ40qNOqpw/+s7vQ8a62GHdhxgw==","signatures":[{"sig":"MEUCIQCsd/JLwdXRv6VWOXRS5B6/brdXIlx9NMCS57T9sx981wIgUI+l0fMUXnKfDUmAcFaTFNd5Y4rdn6nX9QtNLkpABxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98714},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"745007c20f32233376bf68c6a6c2ad0d57b21b0e","private":false,"scripts":{"lint":"eslint .","test":"vitest","build":"tsc -p tsconfig.json","format":"prettier --write ."},"_npmUser":{"name":"avenbreaks","email":"joywibowo10@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript SDK for Halal Trace API.","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.6.0","vitest":"^2.0.4","prettier":"^3.3.2","typescript":"^5.5.4","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/halal-trace-sdk_0.1.4_1769406643175_0.34118751358431054","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@avenlabs/halal-trace-sdk","version":"0.1.5","_id":"@avenlabs/halal-trace-sdk@0.1.5","maintainers":[{"name":"avenbreaks","email":"joywibowo10@gmail.com"}],"dist":{"shasum":"90b6b4327df2684cba6624f104f436bd79b9ea91","tarball":"https://registry.npmjs.org/@avenlabs/halal-trace-sdk/-/halal-trace-sdk-0.1.5.tgz","fileCount":24,"integrity":"sha512-42sK6iENbqjfzEdQvohV+d93gZuk/3Zacfzri2iR+4nvnP1iQea266x8+9Ys371R7ZG8KUNW5hwRHD3eiB0m7Q==","signatures":[{"sig":"MEYCIQCtGY3NJNFaEjJwU4mh5Sh7ErTCi7JWlP8wxIF0YkZe0gIhAIuwJ8IZM4OI9JTJz9sfCGtH0eTcy3+pbZ96AsB0weS+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102601},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"bf6668734dc237149a33afe11f2350d7dc1b16b0","private":false,"scripts":{"lint":"eslint .","test":"vitest","build":"tsc -p tsconfig.json","format":"prettier --write ."},"_npmUser":{"name":"avenbreaks","email":"joywibowo10@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript SDK for Halal Trace API.","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.6.0","vitest":"^2.0.4","prettier":"^3.3.2","typescript":"^5.5.4","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/halal-trace-sdk_0.1.5_1769406921868_0.8082325990934496","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@avenlabs/halal-trace-sdk","version":"0.1.6","_id":"@avenlabs/halal-trace-sdk@0.1.6","maintainers":[{"name":"avenbreaks","email":"joywibowo10@gmail.com"}],"dist":{"shasum":"96b3420ef8ef44fafa64a2273296af0a60913716","tarball":"https://registry.npmjs.org/@avenlabs/halal-trace-sdk/-/halal-trace-sdk-0.1.6.tgz","fileCount":24,"integrity":"sha512-6Wm3QHalSSv8lM39lzhHqfxQL4SMhsfT/hC/Y2/4QaDgZvp6Q+NJRThKGBirC+GlV0y7cbl39GgmG0VFSn+CdA==","signatures":[{"sig":"MEUCIQD49TZ9oC888gzD3RBIYJATkIxBdHxofXNKaB7aMwKfvQIgSRyM6225PL3FRzJS+sDIpWLksJdSGHq45l1dbyZpCcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113872},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1c78c293eed6c95ffdd6a3c39a368f9c2e77fb18","private":false,"scripts":{"lint":"eslint .","test":"vitest","build":"tsc -p tsconfig.json","format":"prettier --write ."},"_npmUser":{"name":"avenbreaks","email":"joywibowo10@gmail.com"},"_npmVersion":"10.9.3","description":"TypeScript SDK for Halal Trace API.","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.6.0","vitest":"^2.0.4","prettier":"^3.3.2","typescript":"^5.5.4","@types/node":"^20.11.30"},"_npmOperationalInternal":{"tmp":"tmp/halal-trace-sdk_0.1.6_1769511155199_0.017490683903946147","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@avenlabs/halal-trace-sdk","version":"0.1.7","private":false,"type":"module","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.json","lint":"eslint .","format":"prettier --write .","test":"vitest"},"devDependencies":{"@types/node":"^20.11.30","eslint":"^9.6.0","prettier":"^3.3.2","typescript":"^5.5.4","vitest":"^2.0.4"},"_id":"@avenlabs/halal-trace-sdk@0.1.7","gitHead":"1c78c293eed6c95ffdd6a3c39a368f9c2e77fb18","description":"TypeScript SDK for Halal Trace API.","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-tYBG8itWBoTMMSAX406WqtFCi6CDfS3FZ9biXiSj7m6f7aSmsuz7dm+r6P5ASfoSgnpqdKhJ8IyARDsH3r3wdQ==","shasum":"248c04e4bbd9eed3153a4fcf218bed3a59354195","tarball":"https://registry.npmjs.org/@avenlabs/halal-trace-sdk/-/halal-trace-sdk-0.1.7.tgz","fileCount":24,"unpackedSize":114022,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDpfkqkRP4TVqzTMYVXW2SF8liyQ8wpvyybi783feoogAiEAthlZt2/93FwBiU9vKJB2o+bFU3/Ww80um07mMYSu/7w="}]},"_npmUser":{"name":"avenbreaks","email":"joywibowo10@gmail.com"},"directories":{},"maintainers":[{"name":"avenbreaks","email":"joywibowo10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/halal-trace-sdk_0.1.7_1769521488732_0.008671710848742187"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-26T01:10:44.138Z","modified":"2026-01-27T13:44:49.010Z","0.1.1":"2026-01-26T01:10:44.444Z","0.1.2":"2026-01-26T04:53:32.278Z","0.1.3":"2026-01-26T04:58:11.587Z","0.1.4":"2026-01-26T05:50:43.364Z","0.1.5":"2026-01-26T05:55:22.014Z","0.1.6":"2026-01-27T10:52:35.420Z","0.1.7":"2026-01-27T13:44:48.871Z"},"description":"TypeScript SDK for Halal Trace API.","maintainers":[{"name":"avenbreaks","email":"joywibowo10@gmail.com"}],"readme":"# SDK Package\n\nTypeScript SDK for Halal Trace API.\n\n## Install\n\n```\npnpm add @avenlabs/halal-trace-sdk\n```\n\n## Usage\n\n```ts\nimport { ApiClient } from \"@avenlabs/halal-trace-sdk\";\n\nconst client = new ApiClient({\n  baseUrl: \"http://localhost:4000\",\n  auth: { token: \"<bearer>\" },\n  allowInsecure: true,\n  retry: { maxRetries: 2 },\n});\n\nconst health = await client.health.get();\n```\n\nResponse includes `requestId`:\n\n```ts\nconst org = await client.orgs.create({ orgId: \"ORG-1\" }, { idempotencyKey: \"org-ORG-1\" });\nconsole.log(org.requestId);\n```\n\n## Auth strategies\n\n- Static token:\n\n```ts\nauth: { token: \"<token>\" }\n```\n\n- Async provider:\n\n```ts\nauth: { getToken: async () => \"<token>\" }\n```\n\n## Auth endpoints\n\n```ts\nconst signup = await client.auth.signUpEmail({\n  name: \"Admin\",\n  email: \"admin@company.com\",\n  password: \"StrongPass123!\",\n});\n\nconst login = await client.auth.signInEmail({\n  email: \"admin@company.com\",\n  password: \"StrongPass123!\",\n});\n\nconst token = login.token;\n```\n\n## Org management\n\n```ts\nawait client.orgs.addMember(\"ORG-001\", { userId: \"USER-1\", role: \"qa\" });\nawait client.orgs.addPermission(\"ORG-001\", { action: \"batch:create\", role: \"qa\" });\nconst lookup = await client.orgs.lookupUserByEmail(\"ORG-001\", \"qa@company.com\");\n```\n\n## Idempotency\n\nFor create/mutate methods, pass `idempotencyKey` to enable safe retries.\n\n```ts\nawait client.batches.create(\n  { batchId: \"B-01\", orgId: \"ORG-01\", productId: \"PROD-01\" },\n  { idempotencyKey: \"batch-B-01\" },\n);\n```\n\n## Observability hooks\n\n```ts\nconst client = new ApiClient({\n  baseUrl: \"http://localhost:4000\",\n  allowInsecure: true,\n  hooks: {\n    onRequest: ({ method, url, requestId }) => console.log(\"REQ\", requestId, method, url),\n    onResponse: ({ status, requestId, durationMs }) => console.log(\"RES\", requestId, status, durationMs),\n    onError: ({ error, requestId }) => console.error(\"ERR\", requestId, error.message),\n  },\n});\n```\n\n## Node-only helpers\n\n```ts\nimport { saveToFile } from \"@avenlabs/halal-trace-sdk/node\";\n```\n\n## List all relayer jobs\n\n```ts\nfor await (const job of client.relayerJobs.listAll(\"ORG-001\")) {\n  console.log(job.status, job.txHash);\n}\n```\n\n## System endpoints\n\n```ts\nconst docsHtml = await client.system.docs();\nconst openApi = await client.system.openApi();\nconst metrics = await client.system.metrics();\nconst inviteHtml = await client.system.inviteLanding(\"ORG-001\", \"token\");\n```\n\n## Commands\n\n```\npnpm build\n```\n","readmeFilename":"README.md"}