{"_id":"@attaradev/ditto-sdk","_rev":"2-89a47c8388b16b4ad6a91a9c6628486c","name":"@attaradev/ditto-sdk","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@attaradev/ditto-sdk","version":"0.1.0","keywords":["ditto","database","testing","typescript","sdk"],"license":"MIT","_id":"@attaradev/ditto-sdk@0.1.0","maintainers":[{"name":"mikeattara","email":"mpyebattara@gmail.com"}],"homepage":"https://github.com/attaradev/ditto/tree/main/sdk/javascript","bugs":{"url":"https://github.com/attaradev/ditto/issues"},"dist":{"shasum":"2a77cc1b787bac9bdace4b5559df322e293f79e3","tarball":"https://registry.npmjs.org/@attaradev/ditto-sdk/-/ditto-sdk-0.1.0.tgz","fileCount":10,"integrity":"sha512-REl2rGgakq4mZNcQE/2VCIa5SJar3w7FM32luk18hbwbk5uXpN8WGyM6L0Of9P0uC4kzgGzjjxxtDv4nJ9s3VQ==","signatures":[{"sig":"MEUCIQDZC5IMo8ScKSRB/zym432a22fVetMu6rKqWPH+c5MnZwIgZr3ADcOPhL64H+MoLwwUVEFlgyrpD+LT/qgD4A3EJrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@attaradev%2fditto-sdk@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9449},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"21c817e812db6c98ad74edf5af09496974073bdd","scripts":{"test":"npm run build:test && node --test .tmp/test/client.test.js","build":"npm run clean && tsc -p tsconfig.build.json","clean":"rm -rf dist .tmp","build:test":"rm -rf .tmp && tsc -p tsconfig.test.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikeattara","email":"mpyebattara@gmail.com"},"repository":{"url":"git+https://github.com/attaradev/ditto.git","type":"git","directory":"sdk/javascript"},"_npmVersion":"11.12.1","description":"TypeScript client for the ditto ephemeral database copy service","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ditto-sdk_0.1.0_1775308230293_0.36531233015772613","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@attaradev/ditto-sdk","version":"0.2.0","description":"TypeScript client for the ditto ephemeral database copy service","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"clean":"rm -rf dist .tmp","build":"npm run clean && tsc -p tsconfig.build.json","build:test":"rm -rf .tmp && tsc -p tsconfig.test.json","test":"npm run build:test && node --test .tmp/test/client.test.js","prepublishOnly":"npm run build"},"keywords":["ditto","database","testing","typescript","sdk"],"license":"MIT","engines":{"node":">=18"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/attaradev/ditto.git","directory":"sdk/javascript"},"bugs":{"url":"https://github.com/attaradev/ditto/issues"},"homepage":"https://github.com/attaradev/ditto/tree/main/sdk/javascript","devDependencies":{"@types/node":"^24.0.0","typescript":"^5.0.0"},"gitHead":"743577b0c6aaa6458ba9c0dedc63c1ddb067e57a","_id":"@attaradev/ditto-sdk@0.2.0","_nodeVersion":"24.14.1","_npmVersion":"11.12.1","dist":{"integrity":"sha512-pFZ5Adh0Wu3n8u3+m16Tj5CgCG0yenjy55fYhqXYajvA1+XjYwz0k5sRLpiaA+ChIkiATJxxGaIWvVAzrL4E8Q==","shasum":"bec6922cd2f372650229835c7855fbf3b15d1bcb","tarball":"https://registry.npmjs.org/@attaradev/ditto-sdk/-/ditto-sdk-0.2.0.tgz","fileCount":10,"unpackedSize":10768,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@attaradev%2fditto-sdk@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCxUjzz+SJYLdX3L6u+YK1LKMyFZeTC1OY8MbUCTM5ymgIhAPj0okhbUSeFNLztLNXgjddZEbf9N76Pb5ax/TPGxjrv"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62a224fa-ad78-4f43-92c4-7927d377c293"}},"directories":{},"maintainers":[{"name":"mikeattara","email":"mpyebattara@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ditto-sdk_0.2.0_1776859794769_0.37024720315736515"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-04T13:10:30.225Z","modified":"2026-04-22T12:09:55.268Z","0.1.0":"2026-04-04T13:10:30.524Z","0.2.0":"2026-04-22T12:09:54.934Z"},"bugs":{"url":"https://github.com/attaradev/ditto/issues"},"license":"MIT","homepage":"https://github.com/attaradev/ditto/tree/main/sdk/javascript","keywords":["ditto","database","testing","typescript","sdk"],"repository":{"type":"git","url":"git+https://github.com/attaradev/ditto.git","directory":"sdk/javascript"},"description":"TypeScript client for the ditto ephemeral database copy service","maintainers":[{"name":"mikeattara","email":"mpyebattara@gmail.com"}],"readme":"# ditto JavaScript SDK\n\nTypeScript client for provisioning ephemeral database copies from a running ditto host.\n\n## Install\n\n```bash\nnpm install @attaradev/ditto-sdk\n```\n\nFor development from a repository checkout:\n\n```bash\nnpm install ./sdk/javascript\n```\n\n## Usage\n\n```ts\nimport { DittoClient } from \"@attaradev/ditto-sdk\";\n\nconst client = new DittoClient({\n  serverUrl: \"http://ditto.internal:8080\",\n  token: process.env.DITTO_TOKEN\n});\n\nconst copy = await client.create({ ttlSeconds: 600 });\nconsole.log(copy.connection_string);\nawait client.destroy(copy.id);\n```\n\nUse `withCopy` when you want automatic cleanup:\n\n```ts\nimport { DittoClient } from \"@attaradev/ditto-sdk\";\n\nconst client = new DittoClient({ serverUrl: \"http://ditto.internal:8080\" });\n\nawait client.withCopy(async (dsn) => {\n  console.log(dsn);\n});\n```\n\n## Environment variables\n\n`DittoClient` reads these variables by default:\n\n- `DITTO_SERVER_URL`\n- `DITTO_TOKEN` (typically a bearer JWT in shared-host mode)\n- `DITTO_TTL`\n","readmeFilename":"README.md"}