Class: PluginInstanceManager
Manages plugin instances (installations) for a project.
Constructors
new PluginInstanceManager()
Internal
Parameters
| Parameter | Type |
|---|---|
ctx | ClientContext |
projectId | string |
Returns
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:87
Methods
create()
Install a plugin for this project
Parameters
| Parameter | Type | Description |
|---|---|---|
body | object | Plugin installation payload |
body.pluginId | string | Description Plugin ID to activate |
body.settings? | object | Description Initial settings |
Returns
Promise<object>
Created plugin instance
| Name | Type | Description | Defined in |
|---|---|---|---|
createdAt | string | Format: date-time Description Creation timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2647 |
id | string | Description Instance UUID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2630 |
isEnabled | boolean | Description Whether this instance is enabled | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2642 |
pluginId | string | Description Plugin ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2636 |
projectId? | string | Description Project ID (null = all projects) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2634 |
settings | object | Description User-configured settings | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2638 |
tenantId | string | Description Tenant ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2632 |
updatedAt | string | Format: date-time Description Last update timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2652 |
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:110
delete()
Uninstall a plugin instance
Parameters
| Parameter | Type | Description |
|---|---|---|
instanceId | string | Plugin instance ID |
Returns
Promise<object>
Deletion confirmation
| Name | Type | Description | Defined in |
|---|---|---|---|
message | string | Description Status message Example Plugin instance deleted | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2667 |
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:153
get()
Get a plugin instance by ID
Parameters
| Parameter | Type | Description |
|---|---|---|
instanceId | string | Plugin instance ID |
Returns
Promise<object>
Plugin instance with plugin details
| Name | Type | Description | Defined in |
|---|---|---|---|
createdAt | string | Format: date-time Description Creation timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2611 |
id | string | Description Instance UUID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2594 |
isEnabled | boolean | Description Whether this instance is enabled | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2606 |
plugin | object | Description Plugin definition | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2618 |
plugin.capabilities | ("transcribe" | "analyze")[] | Description Capabilities of an audio plugin (empty for event plugins). A transcribe plugin can be selected as the project transcriber via PATCH /projects/{projectId}/settings/transcription. Example [] | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2535 |
plugin.category | | "moderation" | "analytics" | "automation" | "integration" | "transcription" | Description Category (UI grouping) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2524 |
plugin.description? | string | Description Description | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2514 |
plugin.events | string[] | Description Event patterns Example [ "message.created" ] | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2542 |
plugin.icon? | string | Description Heroicons icon name Example heroicons_outline:shield-check | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2564 |
plugin.id | string | Description Plugin UUID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2502 |
plugin.isActive | boolean | Description Whether plugin is available | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2566 |
plugin.kind | "event" | "audio" | Description How the plugin runs: event = reacts to domain events; audio = processes utterance audio in the bot (transcription providers, audio moderation) Example event @enum {string} | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2530 |
plugin.name | string | Description Display name Example Profanity Filter | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2512 |
plugin.outputAnnotationType? | "profanity" | "summary" | "action_items" | "sentiment" | Description Output annotation type | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2547 |
plugin.pricingUrl? | string | Description Pricing page URL for the tied Payment product, shown in the install cost-acceptance notice. Example https://odin.4players.io/pricing | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2559 |
plugin.productSlug? | string | Description Payment product slug this plugin activates (set = paid plugin). When present, installing/enabling the plugin activates this product and disabling/uninstalling deactivates it. Example amanda | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2554 |
plugin.settingsSchema? | object[] | Description Settings schema | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2549 |
plugin.slug | string | Description URL-friendly identifier Example profanity-filter | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2507 |
plugin.version | string | Description Semantic version Example 1.0.0 | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2519 |
pluginId | string | Description Plugin ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2600 |
projectId? | string | Description Project ID (null = all projects) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2598 |
settings | object | Description User-configured settings | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2602 |
tenantId | string | Description Tenant ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2596 |
updatedAt | string | Format: date-time Description Last update timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2616 |
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:124
invokeEndpoint()
Call one of a plugin's own HTTP endpoints.
Plugins declare their own endpoints (the endpointPath on a plugin's
declared actions) and Cortex proxies to them at
/api/projects/:projectId/plugins/:slug/:endpointPath. Because that path
segment comes from the plugin rather than from Cortex's own contract, the
route is not in the OpenAPI spec and cannot be typed like the calls
above — the response is whatever the plugin returns, so it comes back as an
unknown-keyed object for the caller to narrow.
It still belongs in the SDK rather than being hand-rolled by consumers: it inherits the client's base URL, auth headers, HMAC signing, redirect handling and error normalization.
Parameters
| Parameter | Type | Description |
|---|---|---|
slug | string | Plugin slug (e.g. meeting-minutes) |
endpointPath | string | The plugin-declared path segment, without a leading slash |
options | object | Request options |
options.body? | unknown | JSON body for POST calls |
options.method? | "GET" | "POST" | HTTP method the plugin's action declares (default GET) |
options.sessionId? | string | Session to run the endpoint against, sent as a query parameter |
Returns
Promise<Record<string, unknown>>
The plugin's JSON response
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:185
list()
List installed plugin instances
Returns
Promise<object[]>
Array of plugin instances with plugin details
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:96
update()
Update a plugin instance
Parameters
| Parameter | Type | Description |
|---|---|---|
instanceId | string | Plugin instance ID |
body | object | Updated settings |
body.isEnabled? | boolean | Description Enable/disable the instance |
body.settings? | object | Description Updated settings |
Returns
Promise<object>
Updated plugin instance
| Name | Type | Description | Defined in |
|---|---|---|---|
createdAt | string | Format: date-time Description Creation timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2647 |
id | string | Description Instance UUID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2630 |
isEnabled | boolean | Description Whether this instance is enabled | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2642 |
pluginId | string | Description Plugin ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2636 |
projectId? | string | Description Project ID (null = all projects) | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2634 |
settings | object | Description User-configured settings | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2638 |
tenantId | string | Description Tenant ID | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2632 |
updatedAt | string | Format: date-time Description Last update timestamp | odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2652 |
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:139