{"_id":"@7k-inari/api-client","_rev":"2-1a56c74f4b7c61e995c8bd141da1ac23","name":"@7k-inari/api-client","dist-tags":{"latest":"0.5.2"},"versions":{"0.3.0":{"name":"@7k-inari/api-client","version":"0.3.0","license":"Apache-2.0","_id":"@7k-inari/api-client@0.3.0","maintainers":[{"name":"joaodss","email":"joaodss@live.com.pt"}],"dist":{"shasum":"262d6be277b0110e150a4fecdbbf19b2f011609b","tarball":"https://registry.npmjs.org/@7k-inari/api-client/-/api-client-0.3.0.tgz","fileCount":12,"integrity":"sha512-BtgiE3vJ3rsGVCbhHFYACu9KkYPq5c6Hch0BhU5dTV7dUJevu1KCVCFamYRSqDJzuD+hMaYNfp0gPXqfxdp4Pw==","signatures":[{"sig":"MEYCIQDAO/fa2OmEU/rZhNAZGI/g3Q8gEeh+UK7WhzhQSAMRFwIhAMLX7eOjEv7Wu6z6SByOxvXILY3o1XiZMb7+/DwLPSAe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211697},"main":"./gen/ts/rest/client.ts","type":"module","types":"./gen/ts/rest/client.ts","gitHead":"e0aa0b8fbe08ea9ebf78fe3f9558c08c792aae1f","scripts":{"typecheck":"tsc --noEmit","generate:rest":"orval --config orval.config.ts"},"_npmUser":{"name":"joaodss","email":"joaodss@live.com.pt"},"_npmVersion":"12.0.2","description":"Generated TypeScript client for the Inari control plane contract (inari-api).","directories":{},"_nodeVersion":"26.7.0","dependencies":{"@bufbuild/protobuf":"^1.10.0","@connectrpc/connect":"^1.6.1"},"_hasShrinkwrap":false,"devDependencies":{"orval":"^7.5.0","typescript":"^5.6.0","@redocly/cli":"^1.25.0"},"_npmOperationalInternal":{"tmp":"tmp/api-client_0.3.0_1787312587250_0.6510354128296025","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@7k-inari/api-client","version":"0.5.2","description":"Generated TypeScript client for the Inari control plane contract (inari-api).","license":"Apache-2.0","type":"module","main":"./gen/ts/rest/client.ts","types":"./gen/ts/rest/client.ts","scripts":{"generate:rest":"orval --config orval.config.ts","typecheck":"tsc --noEmit"},"dependencies":{"@bufbuild/protobuf":"^1.10.0","@connectrpc/connect":"^1.6.1"},"devDependencies":{"@redocly/cli":"^1.25.0","orval":"^7.5.0","typescript":"^5.6.0"},"repository":{"type":"git","url":"git+https://github.com/7K-Inari/inari-api.git"},"gitHead":"06924774b3c80d044e2e397dcd581104beefe5ee","_id":"@7k-inari/api-client@0.5.2","bugs":{"url":"https://github.com/7K-Inari/inari-api/issues"},"homepage":"https://github.com/7K-Inari/inari-api#readme","_nodeVersion":"24.19.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-oN8EhJLd/JmN1iBut6FkcOVWNipdOo6Qjqlb5RP1bRPhYKpT2lOcZlGgSyfyj3QKqfuHmRsvtA27cRNdtLOWAg==","shasum":"51b24d48cfb58b7a5f51d3248dd417cbf5a2927b","tarball":"https://registry.npmjs.org/@7k-inari/api-client/-/api-client-0.5.2.tgz","fileCount":12,"unpackedSize":211789,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@7k-inari%2fapi-client@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF+8xf+BLzDPS5mHX8kumK18j0VXCBqrm58TDkwNa4oiAiEAsssRgaKjclIjmoxZmUGgQ9FJZPbdhJzt41NcnsxiEEg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f3a831b2-9719-42e0-bd62-f573620b365d"}},"directories":{},"maintainers":[{"name":"joaodss","email":"joaodss@live.com.pt"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/api-client_0.5.2_1787320700912_0.8001984396542181"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T11:43:07.088Z","modified":"2026-08-21T13:58:21.406Z","0.3.0":"2026-08-21T11:43:07.392Z","0.5.2":"2026-08-21T13:58:21.045Z"},"license":"Apache-2.0","description":"Generated TypeScript client for the Inari control plane contract (inari-api).","maintainers":[{"name":"joaodss","email":"joaodss@live.com.pt"}],"readme":"# inari-api\n\nThe compatibility contract for Inari: protobuf definitions (agent EventStream protocol, plugin contract) + OpenAPI specs, with generated Go/TS clients (plan §6 #5).\n\nStack: Buf, protoc (connect/gRPC), oapi-codegen; generated Go + TypeScript clients\n\nPart of the **Inari** multi-tenant Internal Developer Platform (GitHub org `7K-Inari`).\nCanonical architecture & development plan: [inari-docs/docs/architecture/inari-platform-plan.md](https://github.com/7K-Inari/inari-docs/blob/main/docs/architecture/inari-platform-plan.md)\n\n## Layout\n\n- `proto/inari/agent/v1/` — agent EventStream protocol (bidirectional gRPC stream, CloudEvents-style envelope)\n- `proto/inari/plugin/v1/` — versioned plugin contract (hashicorp go-plugin model)\n- `openapi/openapi.yaml` — REST surface for console/CLI (OpenAPI 3.0)\n- `gen/go/`, `gen/ts/` — generated Go and TypeScript clients, **committed to the repo** (see below)\n\n## Development\n\nPrerequisites: `buf`, Go, Node.js, `oapi-codegen`, `yq` (v4, for `import-openapi`).\n\n- `make generate` — regenerate everything (`buf generate`, oapi-codegen, Orval)\n- `make import-openapi` — pull the full REST surface from inari-server's offline export (`make export-openapi`) and merge it with `openapi/meta.fragment.yaml` (health endpoints, info, servers) into `openapi/openapi.yaml`; pass `EXPORTED=/path/to/openapi.yaml` to reuse an existing export, or `INARI_SERVER_REF=<ref>` to pin a ref. Run this whenever the inari-server REST surface changes, then `make generate`.\n- `make lint` — `buf lint` + `redocly lint`\n- `make breaking` — `buf breaking` against `main`\n- `make build` / `make test` — compile and smoke-test both clients\n- `make ci` — the full local gate\n\nNote: `npm ci` must run with dev dependencies (`npm ci --include=dev`, or unset `NODE_ENV=production`); Orval and TypeScript are devDependencies.\n\n## Generated code policy\n\nGenerated output under `gen/` is **committed**, not built only in CI. Consumers pin\n`go get github.com/7K-Inari/inari-api@<tag>` and the npm package directly at a git tag,\nso the exact contract surface must be reviewable in PRs and resolvable without codegen in\nconsumer CI. A CI drift check (`make generate && git diff --exit-code`) guarantees\ncommitted code always matches the sources.\n\n## Versioning policy\n\n- Releases are SemVer git tags `vX.Y.Z`; commit messages follow Conventional Commits.\n- **Protobuf: additive changes only within a package version.** New fields, messages, or\n  RPCs may be added to `inari.*.v1`. Any breaking change (removing/renumbering a field,\n  changing a type, renaming a package or service, changing request/response types) requires\n  a **new package version** (`v1` → `v2`) — never edit a released version in place.\n  `buf breaking` runs in CI against `main` to enforce this.\n- **OpenAPI: additive changes only** (new endpoints, new optional fields). Breaking changes\n  require a new base path (`/api/v2`) and spec version.\n- Go modules at v2+ use the `/v2` import-path suffix per Go module semantics; the release\n  workflow verifies tag/module-path consistency.\n\n## Consuming\n\n```sh\ngo get github.com/7K-Inari/inari-api@v0.1.0\nnpm install @7k-inari/api-client@0.1.0\n```\n\nTagging `vX.Y.Z` runs the release workflow: it re-verifies the full CI gate and publishes\nthe npm package (requires the `NPM_TOKEN` secret). The Go module is consumable from the\ntag itself.\n","readmeFilename":"README.md","homepage":"https://github.com/7K-Inari/inari-api#readme","repository":{"type":"git","url":"git+https://github.com/7K-Inari/inari-api.git"},"bugs":{"url":"https://github.com/7K-Inari/inari-api/issues"}}