@ycodium-ai/plugin-api 0.2.3250 → 0.2.3252

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: 28,
59
+ apiVersion: 29,
60
60
  activate: (ctx) => {
61
61
  ctx.log.info("hello");
62
62
 
@@ -247,12 +247,19 @@ shows up there without anyone registering it.
247
247
 
248
248
  ## THERE WILL BE COMPATIBILITY-BREAKING CHANGES
249
249
 
250
- The definition's `apiVersion` is a closed window: the host loads 28, and refuses every other
250
+ The definition's `apiVersion` is a closed window: the host loads 29, and refuses every other
251
251
  value. Declare the version your plugin targets as a literal; do not read the host's
252
- `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 28. Plugins
252
+ `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 29. Plugins
253
253
  targeting an older API are refused before activation; the message names the version the plugin
254
254
  declared and the one this Ycodium loads, and the plugin card offers an update. A plugin that
255
- declares a version newer than 28 is refused until Ycodium itself is updated, with no update button.
255
+ declares a version newer than 29 is refused until Ycodium itself is updated, with no update button.
256
+
257
+ API 29 adds an optional `notice` to `ExecutorProbeResult`: `{ messageKey, params? }`, where
258
+ `messageKey` is a key in the executor plugin's own locale catalog (the same catalog as its card
259
+ form's `titleKey`) and `params` are string values. The host shows it only when the instance is
260
+ enabled and the probe says `ready`, passes it on unchanged as the provider's optional
261
+ `probeNotice`, and never interprets the key. Provider entries read through the data ports gain the
262
+ same optional `probeNotice`. Older machines omit it. No other public type changes.
256
263
 
257
264
  API 28 adds `ctx.threads.artifacts.deliver` (hand a file to the user; the file is copied into the
258
265
  thread's attachments; a plugin may deliver only into a thread it opened directly, and with
@@ -457,7 +464,7 @@ An empty page with a cursor still continues. All failures propagate unchanged, i
457
464
  `ThreadNotFoundError` when the thread is missing; use `isThreadNotFound(error)` to identify it.
458
465
  `ctx.communication.inbox.read` is gone; that port always rejected a plugin, because only the agent
459
466
  in the thread has its own inbox. Plugins targeting these earlier versions are refused on the current host;
460
- the minimum version is 28.
467
+ the minimum version is 29.
461
468
 
462
469
  API 8 changed what the UI gets for a communication record. `ConversationCommunicationRecord`
463
470
  (from the conversation host's `useCommunicationRecord`) and `CommunicationViewExchange` carry `bodyState`, and their
@@ -2598,6 +2598,12 @@ export type MachineSettingsProvidersGetOutput = {
2598
2598
  readonly "checkedAt": string | null;
2599
2599
  readonly "message": string | null;
2600
2600
  };
2601
+ readonly "probeNotice"?: {
2602
+ readonly "messageKey": string;
2603
+ readonly "params"?: {
2604
+ readonly [x: string]: string;
2605
+ };
2606
+ };
2601
2607
  readonly "installCommand"?: string;
2602
2608
  readonly "installUrl"?: string;
2603
2609
  readonly "signIn"?: ReadonlyArray<{