@ycodium-ai/plugin-api 0.2.3598 → 0.2.3614

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: 48,
59
+ apiVersion: 49,
60
60
  activate: (ctx) => {
61
61
  ctx.log.info("hello");
62
62
 
@@ -285,12 +285,24 @@ sessions continue using the streaming process interface.
285
285
 
286
286
  ## THERE WILL BE COMPATIBILITY-BREAKING CHANGES
287
287
 
288
- The definition's `apiVersion` is a closed window: the host loads 48, and refuses every other
288
+ The definition's `apiVersion` is a closed window: the host loads 49, and refuses every other
289
289
  value. Declare the version your plugin targets as a literal; do not read the host's
290
- `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 48. Plugins
290
+ `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 49. Plugins
291
291
  targeting an older API are refused before activation; the message names the version the plugin
292
292
  declared and the one this Ycodium loads, and the plugin card offers an update. A plugin that
293
- declares a version newer than 48 is refused until Ycodium itself is updated, with no update button.
293
+ declares a version newer than 49 is refused until Ycodium itself is updated, with no update button.
294
+
295
+ API 49 adds an unknown-outcome flag on executor task events and machine browser page controls:
296
+
297
+ - An executor's `task.updated` event may carry optional `outcomeUnknown: true`: the executor cannot
298
+ learn how that agent ended and `idle` only says the turn is over. Clients show it as "status unknown"
299
+ rather than completed.
300
+ - The machine browser's page state (`threads.browser.state.get` and the `threads.browser.control.take` /
301
+ `release` results) carries optional `colorScheme` and `fillsPanel`. Human page input (`threads.browser.input`)
302
+ accepts `back`, `forward`, `setColorScheme`, and an optional `ignoreCache` on `reload`. The machine
303
+ capabilities in `machineSettings.config.get` gain an optional `browserPageOperations`.
304
+
305
+ Everything in API 49 is additive.
294
306
 
295
307
  API 48 adds member mentions in the conversation composer and a member id on threads:
296
308
 
@@ -804,7 +816,7 @@ An empty page with a cursor still continues. All failures propagate unchanged, i
804
816
  `ThreadNotFoundError` when the thread is missing; use `isThreadNotFound(error)` to identify it.
805
817
  `ctx.communication.inbox.read` is gone; that port always rejected a plugin, because only the agent
806
818
  in the thread has its own inbox. Plugins targeting these earlier versions are refused on the current host;
807
- the minimum version is 48.
819
+ the minimum version is 49.
808
820
 
809
821
  API 8 changed what the UI gets for a communication record. `ConversationCommunicationRecord`
810
822
  (from the conversation host's `useCommunicationRecord`) and `CommunicationViewExchange` carry `bodyState`, and their
@@ -73,6 +73,8 @@ type Objects_6 = {
73
73
  readonly "width": number;
74
74
  readonly "height": number;
75
75
  };
76
+ readonly "colorScheme"?: "system" | "light" | "dark" | undefined;
77
+ readonly "fillsPanel"?: boolean | undefined;
76
78
  };
77
79
  type Arrays_ = ReadonlyArray<"summary" | "runtime">;
78
80
  type Objects_7 = {
@@ -1919,6 +1921,14 @@ export type ThreadsBrowserInputInput = {
1919
1921
  readonly "viewerId": string;
1920
1922
  readonly "input": {
1921
1923
  readonly "_tag": "reload";
1924
+ readonly "ignoreCache"?: boolean;
1925
+ } | {
1926
+ readonly "_tag": "back";
1927
+ } | {
1928
+ readonly "_tag": "forward";
1929
+ } | {
1930
+ readonly "_tag": "setColorScheme";
1931
+ readonly "colorScheme": "system" | "light" | "dark";
1922
1932
  } | {
1923
1933
  readonly "_tag": "pointer";
1924
1934
  readonly "x": number;
@@ -3465,6 +3475,7 @@ export type MachineSettingsConfigGetOutput = {
3465
3475
  readonly "agentActivityPublishing"?: boolean;
3466
3476
  readonly "noiseIk"?: boolean;
3467
3477
  readonly "browserArtifactDelivery"?: boolean;
3478
+ readonly "browserPageOperations"?: boolean;
3468
3479
  readonly "browserRuntime"?: boolean;
3469
3480
  readonly "pluginNotifications"?: boolean;
3470
3481
  readonly "pluginPurge"?: boolean;
@@ -6329,6 +6340,7 @@ export type MachineSettingsConfigGetEncodedOutput = {
6329
6340
  readonly "agentActivityPublishing"?: boolean;
6330
6341
  readonly "noiseIk"?: boolean;
6331
6342
  readonly "browserArtifactDelivery"?: boolean;
6343
+ readonly "browserPageOperations"?: boolean;
6332
6344
  readonly "browserRuntime"?: boolean;
6333
6345
  readonly "pluginNotifications"?: boolean;
6334
6346
  readonly "pluginPurge"?: boolean;