@ycodium-ai/plugin-api 0.2.3214 → 0.2.3220

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: 21,
59
+ apiVersion: 23,
60
60
  activate: (ctx) => {
61
61
  ctx.log.info("hello");
62
62
 
@@ -239,12 +239,22 @@ 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 21, and refuses every other
242
+ The definition's `apiVersion` is a closed window: the host loads 23, 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 21. Plugins
244
+ `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 23. 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 21 is refused until Ycodium itself is updated, with no update button.
247
+ declares a version newer than 23 is refused until Ycodium itself is updated, with no update button.
248
+
249
+ API 23 adds two optional fields to each entry of `turnIntents` in the outputs of
250
+ `ctx.threads.history` and `ctx.threads.execution.get`. `action` is
251
+ `{ kind: "steer" | "interrupt", turnId, commandId, source?: "automatic" } | null` — what the
252
+ intent did to a running turn. `deliveredTurnId` is `string | null` — the turn the intent landed
253
+ in, once that is settled. No other public type changes.
254
+
255
+ API 22 adds an optional `runtimeMaintenanceRoot` (string) to the output of
256
+ `ctx.machineSettings.config.get` (`MachineSettingsConfigGetOutput`): the machine's runtime
257
+ directory, the same value the host uses for runtime maintenance. No other public type changes.
248
258
 
249
259
  API 21 makes an incompatible change to `ConversationComposerApi.imageCompression`: `isHeicFile` is
250
260
  removed and `prepareForAttachment` is renamed to `prepareFileForAttachment`. Plugins using these
@@ -390,7 +400,7 @@ An empty page with a cursor still continues. All failures propagate unchanged, i
390
400
  `ThreadNotFoundError` when the thread is missing; use `isThreadNotFound(error)` to identify it.
391
401
  `ctx.communication.inbox.read` is gone; that port always rejected a plugin, because only the agent
392
402
  in the thread has its own inbox. Plugins targeting these earlier versions are refused on the current host;
393
- the minimum version is 21.
403
+ the minimum version is 23.
394
404
 
395
405
  API 8 changed what the UI gets for a communication record. `ConversationCommunicationRecord`
396
406
  (from the conversation host's `useCommunicationRecord`) and `CommunicationViewExchange` carry `bodyState`, and their