@ycodium-ai/plugin-api 0.2.3180 → 0.2.3192

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,7 +56,7 @@ import { definePlugin } from "@ycodium-ai/plugin-api";
56
56
 
57
57
  export default definePlugin({
58
58
  id: "my-plugin",
59
- apiVersion: 16,
59
+ apiVersion: 17,
60
60
  activate: (ctx) => {
61
61
  ctx.log.info("hello");
62
62
 
@@ -239,12 +239,14 @@ shows up there without anyone registering it.
239
239
 
240
240
  ## THERE WILL BE COMPATIBILITY-BREAKING CHANGES
241
241
 
242
- The definition's `apiVersion` is a closed window: the host loads 16, and refuses every other
242
+ The definition's `apiVersion` is a closed window: the host loads 17, and refuses every other
243
243
  value. Declare the version your plugin targets as a literal; do not read the host's
244
- `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 16. Plugins
244
+ `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 17. Plugins
245
245
  targeting an older API are refused before activation; the message names the version the plugin
246
246
  declared and the one this Ycodium loads, and the plugin card offers an update. A plugin that
247
- declares a version newer than 16 is refused until Ycodium itself is updated, with no update button.
247
+ declares a version newer than 17 is refused until Ycodium itself is updated, with no update button.
248
+
249
+ API 17 removes `capabilities.exclusiveSessionWriter` from executor cards (the host had stopped reading it) and the `PLUGIN_SESSION_PROJECTION_COMMAND` constant. Plugin UIs read session projections through `bridge.sessionProjections.useProjection(name, threadId, options?)`; the bridge supplies the plugin id, and a null thread id means no subscription. `ctx.process.spawn` accepts an optional `jobPolicy: "strict" | "none"` (Windows only, default `strict`).
248
250
 
249
251
  API 16 removes three more hand-written members in favour of generated data ports. `ctx.proxies.list` is gone: call `ctx.machineSettings.proxies.list({})`. `ctx.providers.listInstances`, `ctx.providers.getRouting` and `ctx.providers.resolveSelection` are gone: call `ctx.providers.instances.list`, `ctx.providers.routing.get` and `ctx.providers.selection.resolve`.
250
252
 
@@ -359,7 +361,7 @@ An empty page with a cursor still continues. All failures propagate unchanged, i
359
361
  `ThreadNotFoundError` when the thread is missing; use `isThreadNotFound(error)` to identify it.
360
362
  `ctx.communication.inbox.read` is gone; that port always rejected a plugin, because only the agent
361
363
  in the thread has its own inbox. Plugins targeting these earlier versions are refused on the current host;
362
- the minimum version is 16.
364
+ the minimum version is 17.
363
365
 
364
366
  API 8 changed what the UI gets for a communication record. `ConversationCommunicationRecord`
365
367
  (from the conversation host's `useCommunicationRecord`) and `CommunicationViewExchange` carry `bodyState`, and their
@@ -13,11 +13,6 @@ import type { PluginDisposer } from "./index.ts";
13
13
  export declare const MAX_PLUGIN_TOOL_PRESENTATION_BYTES: number;
14
14
  /** 单份会话投影上限。不是编排事件。 */
15
15
  export declare const MAX_PLUGIN_SESSION_PROJECTION_BYTES: number;
16
- /**
17
- * 宿主挂在插件命令表上的流名字。客户端用现有 `plugins.subscribe` 订,
18
- * payload 是 `{ name, threadId }`,每条值是 `{ present, value }`。
19
- */
20
- export declare const PLUGIN_SESSION_PROJECTION_COMMAND = "ycodium.sessionProjection";
21
16
  /** 单文件写入上限。本权限不含删除。 */
22
17
  export declare const MAX_PLUGIN_WORKSPACE_WRITE_BYTES: number;
23
18
  /**
@@ -103,7 +98,8 @@ export interface PluginSessionProjectionName {
103
98
  /**
104
99
  * 需要 `sessionProjection`。`register` 返回现有 disposer。
105
100
  * 写入走 `ctx.plugins.sessionProjections.set`,只保存非权威展示快照。
106
- * 客户端用 `PLUGIN_SESSION_PROJECTION_COMMAND` 订阅。
101
+ * 一元读走 `ctx.plugins.sessionProjections.get({ name, threadId })`,只读本插件,与客户端信封首帧同形。
102
+ * 插件 UI 用 `bridge.sessionProjections.useProjection(name, threadId)` 订阅,身份由宿主补入。
107
103
  */
108
104
  export interface PluginSessionProjections {
109
105
  register(input: PluginSessionProjectionName): PluginDisposer;
@@ -1 +1 @@
1
- {"version":3,"file":"capabilityPorts.d.ts","sourceRoot":"","sources":["../src/capabilityPorts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilityPorts.d.ts","sourceRoot":"","sources":["../src/capabilityPorts.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,6 @@
2
2
  export const MAX_PLUGIN_TOOL_PRESENTATION_BYTES = 1024 * 1024;
3
3
  /** 单份会话投影上限。不是编排事件。 */
4
4
  export const MAX_PLUGIN_SESSION_PROJECTION_BYTES = 1024 * 1024;
5
- /**
6
- * 宿主挂在插件命令表上的流名字。客户端用现有 `plugins.subscribe` 订,
7
- * payload 是 `{ name, threadId }`,每条值是 `{ present, value }`。
8
- */
9
- export const PLUGIN_SESSION_PROJECTION_COMMAND = "ycodium.sessionProjection";
10
5
  /** 单文件写入上限。本权限不含删除。 */
11
6
  export const MAX_PLUGIN_WORKSPACE_WRITE_BYTES = 20 * 1024 * 1024;
12
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"capabilityPorts.js","sourceRoot":"","sources":["../src/capabilityPorts.ts"],"names":[],"mappings":"AAYA,2CAA2C;AAC3C,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9D,uBAAuB;AACvB,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;AAE7E,uBAAuB;AACvB,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjE;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,GAAG,IAAI,CAAC;AACjE,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAWtE,uCAAuC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAU,EAAE;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;AACtD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAc,EAAqB,EAAE;IAChF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,kCAAkC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"capabilityPorts.js","sourceRoot":"","sources":["../src/capabilityPorts.ts"],"names":[],"mappings":"AAYA,2CAA2C;AAC3C,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9D,uBAAuB;AACvB,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/D,uBAAuB;AACvB,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjE;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,GAAG,IAAI,CAAC;AACjE,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAWtE,uCAAuC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAU,EAAE;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;AACtD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAc,EAAqB,EAAE;IAChF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,kCAAkC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;AAC3C,CAAC,CAAC"}
@@ -181,7 +181,7 @@ export interface ConversationComposerApi {
181
181
  }): ConversationComposerPathSearchState;
182
182
  };
183
183
  /**
184
- * 宿主按项目目录查斜杠命令与技能(`provider.readWorkspaceInventory`,宿主自己缓存与失效)。
184
+ * 宿主按项目目录查斜杠命令与技能(`providers.workspaceInventory.get`,宿主自己缓存与失效)。
185
185
  * 输入区的 `/` 与 `$` 菜单读它,而不是 provider 快照里整台机器的那份:项目自带的命令与技能
186
186
  * 只有在那个目录里才查得到。
187
187
  */
@@ -385,17 +385,46 @@ type Objects_66 = {
385
385
  readonly "linkBase"?: string;
386
386
  readonly "toolCallId"?: string;
387
387
  };
388
- type Objects_68 = {
388
+ type Objects_67 = {
389
+ readonly "_tag": "snap-shot";
390
+ readonly "capturedAt": string;
391
+ readonly "appName": string;
392
+ readonly "windowTitle": string;
393
+ readonly "accessibleText"?: string;
394
+ readonly "accessibility"?: {
395
+ readonly "format": "flat-text";
396
+ readonly "text": string;
397
+ readonly "truncated": boolean;
398
+ } | {
399
+ readonly "format": "element-tree";
400
+ readonly "coordinateSpace": "captured-image";
401
+ readonly "imageSize": {
402
+ readonly "width": number;
403
+ readonly "height": number;
404
+ };
405
+ readonly "truncated": boolean;
406
+ readonly "root": Objects_68;
407
+ };
408
+ readonly "appIdentifier"?: string;
409
+ readonly "appIconDataUrl"?: string;
410
+ };
411
+ type Objects_69 = {
389
412
  readonly "_tag": "agent-artifact";
390
413
  readonly "sourcePath": string;
391
414
  readonly "linkBase"?: string;
392
415
  readonly "toolCallId"?: string;
393
416
  };
394
- type Objects_69 = {
417
+ type Objects_71 = {
418
+ readonly "_tag": "agent-artifact";
419
+ readonly "sourcePath": string;
420
+ readonly "linkBase"?: string;
421
+ readonly "toolCallId"?: string;
422
+ };
423
+ type Objects_72 = {
395
424
  readonly "projectId": string;
396
425
  readonly "folderId": string;
397
426
  };
398
- type Objects_70 = {
427
+ type Objects_73 = {
399
428
  readonly "applied": boolean;
400
429
  };
401
430
  type Arrays_ = ReadonlyArray<Objects_2>;
@@ -986,7 +1015,32 @@ type Objects_65 = {
986
1015
  readonly "actions"?: ReadonlyArray<string>;
987
1016
  readonly "children": ReadonlyArray<Objects_65>;
988
1017
  };
989
- type Objects_67 = {
1018
+ type Objects_68 = {
1019
+ readonly "role": string;
1020
+ readonly "name"?: string;
1021
+ readonly "value"?: string;
1022
+ readonly "description"?: string;
1023
+ readonly "bounds": {
1024
+ readonly "x": number;
1025
+ readonly "y": number;
1026
+ readonly "width": number;
1027
+ readonly "height": number;
1028
+ } | null;
1029
+ readonly "state"?: {
1030
+ readonly "active"?: boolean;
1031
+ readonly "busy"?: boolean;
1032
+ readonly "checked"?: "on" | "off" | "mixed";
1033
+ readonly "editable"?: boolean;
1034
+ readonly "enabled"?: boolean;
1035
+ readonly "expanded"?: boolean;
1036
+ readonly "focused"?: boolean;
1037
+ readonly "selected"?: boolean;
1038
+ readonly "visible"?: boolean;
1039
+ };
1040
+ readonly "actions"?: ReadonlyArray<string>;
1041
+ readonly "children": ReadonlyArray<Objects_68>;
1042
+ };
1043
+ type Objects_70 = {
990
1044
  readonly "role": string;
991
1045
  readonly "name"?: string;
992
1046
  readonly "value"?: string;
@@ -1009,7 +1063,7 @@ type Objects_67 = {
1009
1063
  readonly "visible"?: boolean;
1010
1064
  };
1011
1065
  readonly "actions"?: ReadonlyArray<string>;
1012
- readonly "children": ReadonlyArray<Objects_67>;
1066
+ readonly "children": ReadonlyArray<Objects_70>;
1013
1067
  };
1014
1068
  export type AuthRemoteAgentsListInput = {
1015
1069
  readonly "projectId": string;
@@ -2316,7 +2370,6 @@ export type ProvidersExecutorsListOutput = {
2316
2370
  readonly "capabilities": {
2317
2371
  readonly "sessionModelSwitch": "in-session" | "unsupported";
2318
2372
  readonly "sessionOptionSwitch"?: "in-session" | "unsupported" | undefined;
2319
- readonly "exclusiveSessionWriter"?: boolean | undefined;
2320
2373
  readonly "runtimeModeSwitch": "in-session" | "next-turn";
2321
2374
  readonly "contextCompaction"?: "native" | "unsupported" | undefined;
2322
2375
  readonly "nativeModeSwitch"?: boolean | undefined;
@@ -2504,7 +2557,9 @@ export type PluginsProjectConfigUpdateInput = {
2504
2557
  export type PluginsProjectConfigUpdateOutput = {
2505
2558
  readonly "revision": string;
2506
2559
  };
2507
- export type PluginsInstalledListInput = {};
2560
+ export type PluginsInstalledListInput = {
2561
+ readonly "includeRuntimeStats"?: boolean;
2562
+ };
2508
2563
  export type PluginsInstalledListOutput = {
2509
2564
  readonly "plugins": ReadonlyArray<{
2510
2565
  readonly "entryId": string;
@@ -2675,6 +2730,15 @@ export type PluginsInstalledSetEnabledInput = {
2675
2730
  export type PluginsInstalledSetEnabledOutput = {
2676
2731
  readonly "revision": string;
2677
2732
  };
2733
+ export type PluginsSessionProjectionsGetInput = {
2734
+ readonly "pluginId": string;
2735
+ readonly "name": string;
2736
+ readonly "threadId": string;
2737
+ };
2738
+ export type PluginsSessionProjectionsGetOutput = {
2739
+ readonly "present": boolean;
2740
+ readonly "value": unknown;
2741
+ };
2678
2742
  export type PluginsSessionProjectionsSetInput = {
2679
2743
  readonly "name": string;
2680
2744
  readonly "threadId": string;
@@ -3557,6 +3621,54 @@ export type ThreadsShellCommandRecordInput = {
3557
3621
  readonly "cwd": string;
3558
3622
  };
3559
3623
  export type ThreadsShellCommandRecordOutput = Objects_63;
3624
+ export type ThreadsTurnIntentsEditInput = {
3625
+ readonly "requestId"?: string;
3626
+ readonly "threadId": string;
3627
+ readonly "intentId": string;
3628
+ readonly "expectedRevision": number;
3629
+ readonly "message": {
3630
+ readonly "text": string;
3631
+ readonly "attachments": ReadonlyArray<{
3632
+ readonly "type": "image";
3633
+ readonly "name": string;
3634
+ readonly "mimeType": string;
3635
+ readonly "sizeBytes": number;
3636
+ readonly "dataUrl": string;
3637
+ readonly "source"?: Objects_64;
3638
+ } | {
3639
+ readonly "type": "file";
3640
+ readonly "name": string;
3641
+ readonly "mimeType": string;
3642
+ readonly "sizeBytes": number;
3643
+ readonly "dataUrl": string;
3644
+ } | {
3645
+ readonly "type": "image";
3646
+ readonly "id": string;
3647
+ readonly "name": string;
3648
+ readonly "mimeType": string;
3649
+ readonly "sizeBytes": number;
3650
+ readonly "source"?: Objects_64 | Objects_66;
3651
+ } | {
3652
+ readonly "type": "file";
3653
+ readonly "id": string;
3654
+ readonly "name": string;
3655
+ readonly "mimeType": string;
3656
+ readonly "sizeBytes": number;
3657
+ readonly "source"?: {
3658
+ readonly "_tag": "pasted-text";
3659
+ } | Objects_66 | {
3660
+ readonly "_tag": "thread-reference";
3661
+ readonly "environmentId": string;
3662
+ readonly "threadId": string;
3663
+ };
3664
+ }>;
3665
+ };
3666
+ };
3667
+ export type ThreadsTurnIntentsEditOutput = {
3668
+ readonly "sequence": number;
3669
+ readonly "replayed"?: boolean;
3670
+ readonly "status": "accepted" | "noop";
3671
+ };
3560
3672
  export type ThreadsTurnIntentsReorderInput = {
3561
3673
  readonly "requestId"?: string;
3562
3674
  readonly "threadId": string;
@@ -3791,7 +3903,7 @@ export type ThreadsTurnsStartInput = {
3791
3903
  readonly "mimeType": string;
3792
3904
  readonly "sizeBytes": number;
3793
3905
  readonly "dataUrl": string;
3794
- readonly "source"?: Objects_64;
3906
+ readonly "source"?: Objects_67;
3795
3907
  } | {
3796
3908
  readonly "type": "file";
3797
3909
  readonly "name": string;
@@ -3804,7 +3916,7 @@ export type ThreadsTurnsStartInput = {
3804
3916
  readonly "name": string;
3805
3917
  readonly "mimeType": string;
3806
3918
  readonly "sizeBytes": number;
3807
- readonly "source"?: Objects_64 | Objects_66;
3919
+ readonly "source"?: Objects_67 | Objects_69;
3808
3920
  } | {
3809
3921
  readonly "type": "file";
3810
3922
  readonly "id": string;
@@ -3813,7 +3925,7 @@ export type ThreadsTurnsStartInput = {
3813
3925
  readonly "sizeBytes": number;
3814
3926
  readonly "source"?: {
3815
3927
  readonly "_tag": "pasted-text";
3816
- } | Objects_66 | {
3928
+ } | Objects_69 | {
3817
3929
  readonly "_tag": "thread-reference";
3818
3930
  readonly "environmentId": string;
3819
3931
  readonly "threadId": string;
@@ -3932,11 +4044,11 @@ export type ThreadsUserInputRespondInput = {
3932
4044
  readonly "height": number;
3933
4045
  };
3934
4046
  readonly "truncated": boolean;
3935
- readonly "root": Objects_67;
4047
+ readonly "root": Objects_70;
3936
4048
  };
3937
4049
  readonly "appIdentifier"?: string;
3938
4050
  readonly "appIconDataUrl"?: string;
3939
- } | Objects_68;
4051
+ } | Objects_71;
3940
4052
  } | {
3941
4053
  readonly "type": "file";
3942
4054
  readonly "id": string;
@@ -3945,7 +4057,7 @@ export type ThreadsUserInputRespondInput = {
3945
4057
  readonly "sizeBytes": number;
3946
4058
  readonly "source"?: {
3947
4059
  readonly "_tag": "pasted-text";
3948
- } | Objects_68 | {
4060
+ } | Objects_71 | {
3949
4061
  readonly "_tag": "thread-reference";
3950
4062
  readonly "environmentId": string;
3951
4063
  readonly "threadId": string;
@@ -4083,10 +4195,10 @@ export type ProjectsCloneStartOutput = {
4083
4195
  readonly "projectId": string;
4084
4196
  readonly "folderId": string;
4085
4197
  };
4086
- export type ProjectsCloneRetryInput = Objects_69;
4087
- export type ProjectsCloneRetryOutput = Objects_70;
4088
- export type ProjectsCloneCancelInput = Objects_69;
4089
- export type ProjectsCloneCancelOutput = Objects_70;
4198
+ export type ProjectsCloneRetryInput = Objects_72;
4199
+ export type ProjectsCloneRetryOutput = Objects_73;
4200
+ export type ProjectsCloneCancelInput = Objects_72;
4201
+ export type ProjectsCloneCancelOutput = Objects_73;
4090
4202
  export type ProjectsCreateInput = {
4091
4203
  readonly "requestId"?: string;
4092
4204
  readonly "projectId": string;
@@ -4175,6 +4287,7 @@ export interface PluginDataPorts {
4175
4287
  readonly record: (input: ThreadsShellCommandRecordInput) => Promise<ThreadsShellCommandRecordOutput>;
4176
4288
  };
4177
4289
  readonly turnIntents: {
4290
+ readonly edit: (input: ThreadsTurnIntentsEditInput) => Promise<ThreadsTurnIntentsEditOutput>;
4178
4291
  readonly reorder: (input: ThreadsTurnIntentsReorderInput) => Promise<ThreadsTurnIntentsReorderOutput>;
4179
4292
  readonly run: (input: ThreadsTurnIntentsRunInput) => Promise<ThreadsTurnIntentsRunOutput>;
4180
4293
  readonly cancel: (input: ThreadsTurnIntentsCancelInput) => Promise<ThreadsTurnIntentsCancelOutput>;
@@ -4324,6 +4437,7 @@ export interface PluginDataPorts {
4324
4437
  readonly setEnabled: (input: PluginsInstalledSetEnabledInput) => Promise<PluginsInstalledSetEnabledOutput>;
4325
4438
  };
4326
4439
  readonly sessionProjections: {
4440
+ readonly get: (input: Omit<PluginsSessionProjectionsGetInput, "pluginId">) => Promise<PluginsSessionProjectionsGetOutput>;
4327
4441
  readonly set: (input: PluginsSessionProjectionsSetInput) => Promise<PluginsSessionProjectionsSetOutput>;
4328
4442
  };
4329
4443
  readonly notifications: {