# @isis/generation-api

Generative AI API service for job submission, status tracking, and output
retrieval

TypeScript package. Built with tsc/tsup; consumed by other workspaces.

## Scripts

| Command                 | Definition                                                             |
| ----------------------- | ---------------------------------------------------------------------- |
| `pnpm dev`              | tsx watch src/index.ts                                                 |
| `pnpm start`            | node dist/index.js                                                     |
| `pnpm build`            | tsc -p tsconfig.app.json                                               |
| `pnpm test`             | vitest                                                                 |
| `pnpm lint`             | eslint src                                                             |
| `pnpm openapi:generate` | node ../../../scripts/isis/generate_generation_api_openapi.mjs         |
| `pnpm openapi:check`    | node ../../../scripts/isis/generate_generation_api_openapi.mjs --check |

## Layout

- `src/`

## Working on this package

The fastest local loop is via Nx:

```bash
pnpm nx test isis-generation-api
pnpm nx lint isis-generation-api
pnpm nx build isis-generation-api
```

When Nx is unhappy (usually because another worktree has duplicate project
names), bypass it with the underlying tools from this directory:

```bash
npx tsc --noEmit
npx vitest run
```

See the [root README](../../../README.md) for monorepo-wide conventions (catalog
deps, commit format, git workflow). See the
[Contributor Guide](../../../docs/CONTRIBUTING.md) for the full PR workflow.
