Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion agents/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
},
"devDependencies": {
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/fluent-ffmpeg": "^2.1.28",
"@types/json-schema": "^7.0.15",
"@types/node": "^22.5.5",
Expand Down
46 changes: 32 additions & 14 deletions api-extractor-shared.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,11 @@
* This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been
* local files for library1.
*/
"bundledPackages": [],
// Workspace packages are bundled so API Extractor can resolve the namespace
// re-exports (e.g. `voice`, `llm`) that plugins consume from `@livekit/agents`.
// Without this, API Extractor errors with "ts.SyntaxKind.SourceFile declaration
// which is not (yet?) supported" when a plugin references those namespaces.
"bundledPackages": ["@livekit/agents", "@livekit/agents-plugin-*"],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice workaround!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! 😄 Took a while to find — the older api-extractor just hard-errored on export * as ns, the newer one resolves it once the workspace packages are bundled.


/**
* Specifies what type of newlines API Extractor should use when writing output files. By default, the output files
Expand Down Expand Up @@ -134,8 +138,12 @@
"apiReport": {
/**
* (REQUIRED) Whether to generate an API report.
*
* Disabled: this repo gitignores `*.md` and does not track per-package
* `etc/*.api.md` reports, so `api:check` is used purely to validate that the
* public API type-checks and rolls up cleanly (not to diff a committed report).
*/
"enabled": true
"enabled": false

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why wouldn't we want to enable this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. I disabled it mainly because of how it interacts with bundledPackages: with the namespace bundling, each plugin report would inline all of @livekit/agents's API into its .api.md, so every plugin report becomes huge and churns on every core change. Combined with the repo gitignoring *.md (only 2 reports were ever force-added) and api:check not being in CI, it felt like the report wasn't really being used.

That said, I think it's genuinely valuable for the core @livekit/agents package — it doesn't bundle anything, so its report stays clean and gives a real public-API diff. Happy to enable it just for core (commit agents/etc/agents.api.md + a !etc/*.api.md gitignore exception) and keep plugins structural-only. Want me to do that?

@lukasIO lukasIO Jun 22, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I think it makes sense to stay disabled for now. I had opened a PR to fix the underlying issue of api-extractor with the namespace export here microsoft/rushstack#5810

Once that gets merged we can revert the bundledPackages workaround and re-enable here as well.


/**
* The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce
Expand Down Expand Up @@ -390,17 +398,28 @@
* DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings
*/
"extractorMessageReporting": {
// `api:check` is used as a structural gate: it fails on hard errors
// (unresolvable types, the SourceFile-namespace error, a missing entry
// point) but not on lint-style advice. This repo does not adopt API
// Extractor's conventions (release tags, doc-comment placement, forgotten
// exports, @internal underscores), so those messages are silenced here.
// Each message id is set explicitly because API Extractor's built-in
// per-message defaults take precedence over the "default" entry.
"default": {
"logLevel": "warning"
// "addToApiReportFile": false
}

// "ae-extra-release-tag": {
// "logLevel": "warning",
// "addToApiReportFile": true
// },
//
// . . .
"logLevel": "none"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this seems a bit excessive with all the logs underneath also be setting to none.

What's your thinking behind it?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair — it is heavy-handed. Two parts:

  1. The explicit per-message list isn't redundant with default: api-extractor ships built-in per-message defaults (ae-forgotten-export, ae-missing-release-tag, etc. default to warning) that take precedence over the user's default entry, so default: none alone doesn't silence them — I had to set each one explicitly (verified empirically).
  2. You're right that it silences more than ideal. The release-tag family + unresolved-link/inheritdoc are conventions this repo deliberately doesn't use, so those are safe to drop. The one I'd rather keep is ae-forgotten-export (catches types used in the public API but not exported) — but the core currently has ~4 (OutputSchema, AgentConstructor, PromptTemplate, UpdatePromptArgs), so keeping it as a warning means exporting those, which is a small public-API change.

Happy to trim to just the release-tag + link families and fix those 4 forgotten exports if you'd prefer the gate to stay meaningful — let me know.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, forgotten export sounds useful to keep

},
"ae-forgotten-export": { "logLevel": "none" },
"ae-internal-missing-underscore": { "logLevel": "none" },
"ae-missing-release-tag": { "logLevel": "none" },
"ae-incompatible-release-tags": { "logLevel": "none" },
"ae-different-release-tags": { "logLevel": "none" },
"ae-extra-release-tag": { "logLevel": "none" },
"ae-misplaced-package-tag": { "logLevel": "none" },
"ae-missing-getter": { "logLevel": "none" },
"ae-setter-with-docs": { "logLevel": "none" },
"ae-unresolved-link": { "logLevel": "none" },
"ae-unresolved-inheritdoc-base": { "logLevel": "none" },
"ae-unresolved-inheritdoc-reference": { "logLevel": "none" }
},

/**
Expand All @@ -412,8 +431,7 @@
*/
"tsdocMessageReporting": {
"default": {
"logLevel": "warning"
// "addToApiReportFile": false
"logLevel": "none"
}

// "tsdoc-link-tag-unescaped-text": {
Expand Down
2 changes: 1 addition & 1 deletion plugins/anam/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-openai": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/assemblyai/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-silero": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "^8.5.10",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/baseten/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
"@livekit/agents-plugin-silero": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/node": "^22.18.11",
"@types/ws": "catalog:",
"tsx": "^4.7.0",
Expand Down
5 changes: 5 additions & 0 deletions plugins/bey/api-extractor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"extends": "../../api-extractor-shared.json",
"mainEntryPointFilePath": "./dist/index.d.ts"
Comment thread
toubatbrian marked this conversation as resolved.
}
2 changes: 1 addition & 1 deletion plugins/bey/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"devDependencies": {
"@livekit/agents": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"pino": "^8.19.0",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/cartesia/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"@livekit/agents-plugin-silero": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/cerebras/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-openai": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"tsup": "^8.3.5",
"typescript": "^5.0.0",
"zod": "^3.25.76 || ^4.1.8"
Expand Down
2 changes: 1 addition & 1 deletion plugins/deepgram/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"@livekit/agents-plugin-silero": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/did/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"devDependencies": {
"@livekit/agents": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"pino": "^8.19.0",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/elevenlabs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-openai": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/fishaudio/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-openai": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
4 changes: 2 additions & 2 deletions plugins/google/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@
"@livekit/agents-plugin-openai": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
},
"dependencies": {
"@google/genai": "^1.52.0",
"google-auth-library": "^10.6.2",
"@livekit/mutex": "^1.1.1",
"@types/json-schema": "^7.0.15",
"google-auth-library": "^10.6.2",
"json-schema": "^0.4.0",
"openai": "^6.8.1"
},
Expand Down
2 changes: 1 addition & 1 deletion plugins/hedra/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"devDependencies": {
"@livekit/agents": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"pino": "^8.19.0",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/hume/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-openai": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
},
Expand Down
2 changes: 1 addition & 1 deletion plugins/inworld/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-openai": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/lemonslice/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"devDependencies": {
"@livekit/agents": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"pino": "^8.19.0",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
5 changes: 5 additions & 0 deletions plugins/liveavatar/api-extractor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"extends": "../../api-extractor-shared.json",
"mainEntryPointFilePath": "./dist/index.d.ts"
}
2 changes: 1 addition & 1 deletion plugins/liveavatar/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"devDependencies": {
"@livekit/agents": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"pino": "^8.19.0",
"tsup": "^8.3.5",
Expand Down
2 changes: 1 addition & 1 deletion plugins/livekit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
},
"devDependencies": {
"@livekit/agents": "workspace:*",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"onnxruntime-common": "1.24.3",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/minimax/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"@livekit/agents": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/mistral/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"devDependencies": {
"@livekit/agents": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
},
Expand Down
2 changes: 1 addition & 1 deletion plugins/mistralai/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"@livekit/agents": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"tsup": "^8.3.5",
"typescript": "^5.0.0",
"vitest": "^4.0.17"
Expand Down
2 changes: 1 addition & 1 deletion plugins/neuphonic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-openai": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion plugins/openai/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@livekit/agents-plugin-silero": "workspace:*",
"@livekit/agents-plugins-test": "workspace:*",
"@livekit/rtc-node": "catalog:",
"@microsoft/api-extractor": "^7.35.0",
"@microsoft/api-extractor": "^7.58.9",
"@types/ws": "catalog:",
"tsup": "^8.3.5",
"typescript": "^5.0.0"
Expand Down
Loading