{"_id":"@accidentally-awesome-labs/spatula-api","_rev":"2-24dc3085d3b9330d1e671a18c9892079","name":"@accidentally-awesome-labs/spatula-api","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@accidentally-awesome-labs/spatula-api","version":"0.1.0","license":"MIT","_id":"@accidentally-awesome-labs/spatula-api@0.1.0","maintainers":[{"name":"salarsayyad","email":"salar.sayyad@gmail.com"}],"homepage":"https://github.com/accidentally-awesome-labs/spatula#readme","bugs":{"url":"https://github.com/accidentally-awesome-labs/spatula/issues"},"dist":{"shasum":"360c082783c84d928b19cc238a6a76184ae50aa5","tarball":"https://registry.npmjs.org/@accidentally-awesome-labs/spatula-api/-/spatula-api-0.1.0.tgz","fileCount":139,"integrity":"sha512-MPcplFkWawEwvNaJl9fDD17OxuyG76/5pbZMWlONeUvlQtRdu5kBoOxS3F2zN2pcqTqxukuIcKSG1oSsZ2/aJw==","signatures":[{"sig":"MEYCIQCGDzYGlxz0AF+/PXbBZm7b8RHmoNAg9kTJvMSiMNTIkQIhAOiTWi4bLnjt9aLdTqmySgVnl84yluP8veEcc4j9dm4R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@accidentally-awesome-labs%2fspatula-api@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280762},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/spatula-npm-packs/accidentally-awesome-labs-spatula-api-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/index.ts","lint":"eslint src/","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo *.tsbuildinfo","start":"node --env-file-if-exists=../../.env dist/main.js","lint:fix":"eslint src/ --fix","test:watch":"vitest"},"_npmUser":{"name":"salarsayyad","email":"salar.sayyad@gmail.com"},"_resolved":"/home/runner/work/_temp/spatula-npm-packs/accidentally-awesome-labs-spatula-api-0.1.0.tgz","_integrity":"sha512-MPcplFkWawEwvNaJl9fDD17OxuyG76/5pbZMWlONeUvlQtRdu5kBoOxS3F2zN2pcqTqxukuIcKSG1oSsZ2/aJw==","repository":{"url":"git+https://github.com/accidentally-awesome-labs/spatula.git","type":"git","directory":"apps/api"},"_npmVersion":"12.0.1","description":"Internal Spatula Hono REST API server — NO TS-API compat guarantee. Public SDK is @accidentally-awesome-labs/spatula-client. See docs/compat-policy.md.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ajv":"^8.20.0","zod":"^3.24.0","hono":"^4.12.29","jose":"^6.2.2","yaml":"2.8.3","ioredis":"^5.10.0","ajv-formats":"^3.0.1","@hono/node-ws":"^1.3.1","@bull-board/ui":"^6.20.6","@bull-board/api":"^6.20.6","@bull-board/hono":"^6.20.6","@hono/swagger-ui":"^0.6.1","@hono/node-server":"^1.19.13","@hono/zod-openapi":"^0.19.10","@accidentally-awesome-labs/spatula-db":"0.1.0","@accidentally-awesome-labs/spatula-core":"0.1.0","@accidentally-awesome-labs/spatula-queue":"0.1.0","@accidentally-awesome-labs/spatula-shared":"0.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.2.6","@types/pg":"^8.18.0","typescript":"^5.7.0","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/spatula-api_0.1.0_1784125185035_0.2874289542471715","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@accidentally-awesome-labs/spatula-api","version":"0.1.1","description":"Internal Spatula Hono REST API server — NO TS-API compat guarantee. Public SDK is @accidentally-awesome-labs/spatula-client. See docs/compat-policy.md.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/accidentally-awesome-labs/spatula.git","directory":"apps/api"},"homepage":"https://github.com/accidentally-awesome-labs/spatula#readme","bugs":{"url":"https://github.com/accidentally-awesome-labs/spatula/issues"},"publishConfig":{"access":"public","provenance":true},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"engines":{"node":">=22"},"dependencies":{"@bull-board/api":"^6.20.6","@bull-board/hono":"^6.20.6","@bull-board/ui":"^6.20.6","@hono/node-server":"^1.19.13","@hono/node-ws":"^1.3.1","@hono/swagger-ui":"^0.6.1","@hono/zod-openapi":"^0.19.10","ajv":"^8.20.0","ajv-formats":"^3.0.1","hono":"^4.12.29","ioredis":"^5.10.0","jose":"^6.2.2","yaml":"2.8.3","zod":"^3.24.0","@accidentally-awesome-labs/spatula-queue":"0.1.1","@accidentally-awesome-labs/spatula-shared":"0.1.1","@accidentally-awesome-labs/spatula-db":"0.1.1","@accidentally-awesome-labs/spatula-core":"0.1.1"},"devDependencies":{"@types/node":"^25.3.5","@types/pg":"^8.18.0","tsx":"^4.19.0","typescript":"^5.7.0","vitest":"^3.2.6"},"scripts":{"build":"tsc","start":"node --env-file-if-exists=../../.env dist/main.js","dev":"tsx watch src/index.ts","lint":"eslint src/","lint:fix":"eslint src/ --fix","test":"vitest run","test:watch":"vitest","clean":"rm -rf dist .turbo *.tsbuildinfo"},"_id":"@accidentally-awesome-labs/spatula-api@0.1.1","_integrity":"sha512-z7o0iE67SPPyqj3obz2gpAI3rWoQmMyzar3bbCMT9l6dKIumlNQbkNhZjZtLSPx1Kvh8sZgvjLYfQmjm1vaYew==","_resolved":"/home/runner/work/_temp/spatula-npm-packs/accidentally-awesome-labs-spatula-api-0.1.1.tgz","_from":"file:/home/runner/work/_temp/spatula-npm-packs/accidentally-awesome-labs-spatula-api-0.1.1.tgz","_nodeVersion":"22.23.1","_npmVersion":"12.0.1","dist":{"integrity":"sha512-z7o0iE67SPPyqj3obz2gpAI3rWoQmMyzar3bbCMT9l6dKIumlNQbkNhZjZtLSPx1Kvh8sZgvjLYfQmjm1vaYew==","shasum":"dcd9c98aca0e99fb6e90188f3dbe85cf9f9c7d24","tarball":"https://registry.npmjs.org/@accidentally-awesome-labs/spatula-api/-/spatula-api-0.1.1.tgz","fileCount":139,"unpackedSize":280762,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@accidentally-awesome-labs%2fspatula-api@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCNDt9m1NApnuE2GrcbZdVzlaICH0o/dd+L8Ga4zQFZVAIgDR0mVto75QVAYQIycPK6Jm8kkBu7nfBldZ3vxLfELDc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a722d903-78e7-48dd-8fe7-616b399b7e81"}},"directories":{},"maintainers":[{"name":"salarsayyad","email":"salar.sayyad@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/spatula-api_0.1.1_1784144339278_0.5279801781967388"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-15T14:19:44.922Z","modified":"2026-07-15T19:38:59.729Z","0.1.0":"2026-07-15T14:19:45.187Z","0.1.1":"2026-07-15T19:38:59.458Z"},"bugs":{"url":"https://github.com/accidentally-awesome-labs/spatula/issues"},"license":"MIT","homepage":"https://github.com/accidentally-awesome-labs/spatula#readme","repository":{"type":"git","url":"git+https://github.com/accidentally-awesome-labs/spatula.git","directory":"apps/api"},"description":"Internal Spatula Hono REST API server — NO TS-API compat guarantee. Public SDK is @accidentally-awesome-labs/spatula-client. See docs/compat-policy.md.","maintainers":[{"name":"salarsayyad","email":"salar.sayyad@gmail.com"}],"readme":"# @accidentally-awesome-labs/spatula-api\n\n> **NO COMPAT GUARANTEE AT TS-API LEVEL.** This is an internal Spatula implementation package. Breaking changes to its TypeScript surface may land in any **MINOR** release. External consumers should not import it directly. The public packages with semver-stable TypeScript surfaces are: `@accidentally-awesome-labs/spatula-client`, `@accidentally-awesome-labs/spatula-core-types`, and `@accidentally-awesome-labs/spatula`. See [`docs/compat-policy.md`](https://github.com/accidentally-awesome-labs/spatula/blob/main/docs/compat-policy.md) for the full matrix.\n\n## Purpose\n\nHono-based REST API server for Spatula. Tenant-scoped middleware, OpenAPI runtime (`GET /api/v1/openapi.json`), well-known version probe (`GET /.well-known/spatula-version`), Bull Board admin UI, WebSocket + SSE adapters.\n\n**Note:** The TS-API surface is internal. The **HTTP API contract** is the public surface; it is governed by [`docs/api-errors.md`](https://github.com/accidentally-awesome-labs/spatula/blob/main/docs/api-errors.md), [`docs/api-idempotency.md`](https://github.com/accidentally-awesome-labs/spatula/blob/main/docs/api-idempotency.md), [`docs/api-auth.md`](https://github.com/accidentally-awesome-labs/spatula/blob/main/docs/api-auth.md), and the OpenAPI document served at runtime, all of which are stable per the [compat policy](https://github.com/accidentally-awesome-labs/spatula/blob/main/docs/compat-policy.md). Self-hosters should consume the HTTP API via `@accidentally-awesome-labs/spatula-client`, not by importing this package directly.\n\n## Stability\n\n**No stable TS-API.** Use `@accidentally-awesome-labs/spatula-client` for programmatic API access.\n\n## Compatibility\n\nThe TypeScript API is internal and may change between minor versions. The stable public API is the REST contract documented by OpenAPI and `docs/compat-policy.md`.\n","readmeFilename":"README.md"}