Skip to main content

Class: PluginInstanceManager

Manages plugin instances (installations) for a project.

Constructors​

new PluginInstanceManager()​

new PluginInstanceManager(ctx, projectId): PluginInstanceManager

Internal

Parameters​

ParameterType
ctxClientContext
projectIdstring

Returns​

PluginInstanceManager

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:87

Methods​

create()​

create(body): Promise<object>

Install a plugin for this project

Parameters​

ParameterTypeDescription
bodyobjectPlugin installation payload
body.pluginIdstringDescription Plugin ID to activate
body.settings?objectDescription Initial settings

Returns​

Promise<object>

Created plugin instance

NameTypeDescriptionDefined in
createdAtstringFormat: date-time Description Creation timestampodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2647
idstringDescription Instance UUIDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2630
isEnabledbooleanDescription Whether this instance is enabledodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2642
pluginIdstringDescription Plugin IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2636
projectId?stringDescription Project ID (null = all projects)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2634
settingsobjectDescription User-configured settingsodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2638
tenantIdstringDescription Tenant IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2632
updatedAtstringFormat: date-time Description Last update timestampodin-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()​

delete(instanceId): Promise<object>

Uninstall a plugin instance

Parameters​

ParameterTypeDescription
instanceIdstringPlugin instance ID

Returns​

Promise<object>

Deletion confirmation

NameTypeDescriptionDefined in
messagestringDescription Status message Example Plugin instance deletedodin-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(instanceId): Promise<object>

Get a plugin instance by ID

Parameters​

ParameterTypeDescription
instanceIdstringPlugin instance ID

Returns​

Promise<object>

Plugin instance with plugin details

NameTypeDescriptionDefined in
createdAtstringFormat: date-time Description Creation timestampodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2611
idstringDescription Instance UUIDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2594
isEnabledbooleanDescription Whether this instance is enabledodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2606
pluginobjectDescription Plugin definitionodin-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?stringDescription Descriptionodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2514
plugin.eventsstring[]Description Event patterns Example [ "message.created" ]odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2542
plugin.icon?stringDescription Heroicons icon name Example heroicons_outline:shield-checkodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2564
plugin.idstringDescription Plugin UUIDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2502
plugin.isActivebooleanDescription Whether plugin is availableodin-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.namestringDescription Display name Example Profanity Filterodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2512
plugin.outputAnnotationType?"profanity" | "summary" | "action_items" | "sentiment"Description Output annotation typeodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2547
plugin.pricingUrl?stringDescription Pricing page URL for the tied Payment product, shown in the install cost-acceptance notice. Example https://odin.4players.io/pricingodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2559
plugin.productSlug?stringDescription Payment product slug this plugin activates (set = paid plugin). When present, installing/enabling the plugin activates this product and disabling/uninstalling deactivates it. Example amandaodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2554
plugin.settingsSchema?object[]Description Settings schemaodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2549
plugin.slugstringDescription URL-friendly identifier Example profanity-filterodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2507
plugin.versionstringDescription Semantic version Example 1.0.0odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2519
pluginIdstringDescription Plugin IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2600
projectId?stringDescription Project ID (null = all projects)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2598
settingsobjectDescription User-configured settingsodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2602
tenantIdstringDescription Tenant IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2596
updatedAtstringFormat: date-time Description Last update timestampodin-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()​

invokeEndpoint(
slug,
endpointPath,
options): Promise<Record<string, unknown>>

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​

ParameterTypeDescription
slugstringPlugin slug (e.g. meeting-minutes)
endpointPathstringThe plugin-declared path segment, without a leading slash
optionsobjectRequest options
options.body?unknownJSON body for POST calls
options.method?"GET" | "POST"HTTP method the plugin's action declares (default GET)
options.sessionId?stringSession 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(): Promise<object[]>

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(instanceId, body): Promise<object>

Update a plugin instance

Parameters​

ParameterTypeDescription
instanceIdstringPlugin instance ID
bodyobjectUpdated settings
body.isEnabled?booleanDescription Enable/disable the instance
body.settings?objectDescription Updated settings

Returns​

Promise<object>

Updated plugin instance

NameTypeDescriptionDefined in
createdAtstringFormat: date-time Description Creation timestampodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2647
idstringDescription Instance UUIDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2630
isEnabledbooleanDescription Whether this instance is enabledodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2642
pluginIdstringDescription Plugin IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2636
projectId?stringDescription Project ID (null = all projects)odin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2634
settingsobjectDescription User-configured settingsodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2638
tenantIdstringDescription Tenant IDodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2632
updatedAtstringFormat: date-time Description Last update timestampodin-transcription-service/packages/cortex-typescript-sdk/src/types.ts:2652

Defined in​

odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:139