@ycodium-ai/plugin-api 0.2.3315 → 0.2.3335

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: 34,
59
+ apiVersion: 35,
60
60
  activate: (ctx) => {
61
61
  ctx.log.info("hello");
62
62
 
@@ -262,12 +262,19 @@ shows up there without anyone registering it.
262
262
 
263
263
  ## THERE WILL BE COMPATIBILITY-BREAKING CHANGES
264
264
 
265
- The definition's `apiVersion` is a closed window: the host loads 34, and refuses every other
265
+ The definition's `apiVersion` is a closed window: the host loads 35, and refuses every other
266
266
  value. Declare the version your plugin targets as a literal; do not read the host's
267
- `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 34. Plugins
267
+ `PLUGIN_API_VERSION` to make the declaration automatically match. The current API is 35. Plugins
268
268
  targeting an older API are refused before activation; the message names the version the plugin
269
269
  declared and the one this Ycodium loads, and the plugin card offers an update. A plugin that
270
- declares a version newer than 34 is refused until Ycodium itself is updated, with no update button.
270
+ declares a version newer than 35 is refused until Ycodium itself is updated, with no update button.
271
+
272
+ API 35 adds optional `turnQueuePauseSource` to the thread read through `threads.history`:
273
+ `automatic-failure`, `manual` or `unknown` tells why a paused send queue is paused. The
274
+ `recipientWarnings` returned by `communication.records.send` gain two codes,
275
+ `recipient-queue-paused` and `recipient-queue-resumed`, and unknown future codes are dropped
276
+ instead of failing the result. Older machines omit the new field and codes. No other public
277
+ type changes.
271
278
 
272
279
  API 34 adds optional `turnSummaries` to `ConversationChatTimeline` and `ConversationRowsDeriveInput`,
273
280
  so older turns can show their working time. Turn summaries read through `threads.history` gain
@@ -531,7 +538,7 @@ An empty page with a cursor still continues. All failures propagate unchanged, i
531
538
  `ThreadNotFoundError` when the thread is missing; use `isThreadNotFound(error)` to identify it.
532
539
  `ctx.communication.inbox.read` is gone; that port always rejected a plugin, because only the agent
533
540
  in the thread has its own inbox. Plugins targeting these earlier versions are refused on the current host;
534
- the minimum version is 34.
541
+ the minimum version is 35.
535
542
 
536
543
  API 8 changed what the UI gets for a communication record. `ConversationCommunicationRecord`
537
544
  (from the conversation host's `useCommunicationRecord`) and `CommunicationViewExchange` carry `bodyState`, and their
@@ -1879,6 +1879,7 @@ export type ThreadsHistoryOutput = {
1879
1879
  readonly "updatedAt": string;
1880
1880
  }> | undefined;
1881
1881
  readonly "turnQueuePaused"?: boolean | undefined;
1882
+ readonly "turnQueuePauseSource"?: "automatic-failure" | "manual" | "unknown" | undefined;
1882
1883
  readonly "acceptedInteractionRequestIds"?: ReadonlyArray<string> | undefined;
1883
1884
  readonly "titleRegeneration"?: Objects_14 | null | undefined;
1884
1885
  readonly "titleState"?: Objects_15 | null | undefined;
@@ -2542,7 +2543,7 @@ export type CommunicationRecordsSendOutput = {
2542
2543
  readonly "recordId": string;
2543
2544
  readonly "recordSequence": number | null;
2544
2545
  readonly "recipientWarnings"?: ReadonlyArray<{
2545
- readonly "code": "recipient-read-only" | "recipient-continued" | "recipient-not-running";
2546
+ readonly "code": "recipient-read-only" | "recipient-continued" | "recipient-not-running" | "recipient-queue-paused" | "recipient-queue-resumed";
2546
2547
  readonly "detail": string;
2547
2548
  readonly "threadId"?: string;
2548
2549
  }>;
@@ -5249,6 +5250,7 @@ export type ThreadsHistoryEncodedOutput = {
5249
5250
  readonly "updatedAt": string;
5250
5251
  }> | undefined;
5251
5252
  readonly "turnQueuePaused"?: boolean | undefined;
5253
+ readonly "turnQueuePauseSource"?: "automatic-failure" | "manual" | "unknown" | undefined;
5252
5254
  readonly "acceptedInteractionRequestIds"?: ReadonlyArray<string> | undefined;
5253
5255
  readonly "titleRegeneration"?: Objects_120 | null | undefined;
5254
5256
  readonly "titleState"?: Objects_121 | null | undefined;