@ycodium-ai/plugin-api 0.2.4160 → 0.2.4162

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
@@ -408,7 +408,11 @@ update against the new types and republish.
408
408
 
409
409
  <!-- plugin-api-versions:start (generated by scripts/gen-plugin-api-version.ts from packages/plugin-api/version-history.json; edit that file) -->
410
410
 
411
- The current API is **97**. This Ycodium loads plugins declaring 96 through 97.
411
+ The current API is **99**. This Ycodium loads plugins declaring 96 through 99.
412
+
413
+ API 99 Communication stages include processed with optional processed input. Session stop accepts an optional context-change reason; restart turns retain their original sourceBlocks.
414
+
415
+ API 98 Thread execution reads retain optional sourceBlocks for merged wake-up parts and optional skipped on scheduled occurrences. Quiet replies do not wake recipients and quiet messages to people are notices.
412
416
 
413
417
  API 97 Project machine lists expose optional connection (stream, polling or none) beside online. Creating a machine task returns optional approvalReason while it awaits approval.
414
418
 
@@ -17,7 +17,7 @@ export interface CommunicationViewParty {
17
17
  /** 正文此刻的状态,与通信记录(`PluginCommunicationRecord`)的 `bodyState` 同一份。 */
18
18
  export type CommunicationViewBodyState = PluginCommunicationRecord["bodyState"];
19
19
  /**
20
- * 一次往来。`state`:`waiting` 已投递、对方还没取件;`picked-up` 取件了还没回;`answered` 回了;
20
+ * 一次往来。`state`:`waiting` 已投递、对方还没取件;`picked-up` 已取件;`processed` 处理轮已结束、还没明确回信;`answered` 回了;
21
21
  * `unknown` 投递结果不明(不会重投);`delegated` 是委派;`recorded` 是发给人的记录,只落了记录、不走 agent
22
22
  * 的交接;`withdrawn` 发件方撤回了、`deleted` 删掉了还没被取走的记录(都不会再被取走)。前两种算「欠着
23
23
  * 回复」,只是 `mailbox` 的信不跟踪回复,取件(`picked-up`)后就不算欠。
@@ -36,16 +36,17 @@ export interface CommunicationViewExchange {
36
36
  readonly state: CommunicationRecordStage | "delegated";
37
37
  }
38
38
  /** 一条直发记录能走到的阶段,名单只在这里列;消息流的 `state`、轨迹的 `phase` 都从它派生。 */
39
- export type CommunicationRecordStage = "answered" | "recorded" | "picked-up" | "unknown" | "waiting" | "withdrawn" | "deleted";
39
+ export type CommunicationRecordStage = "answered" | "processed" | "recorded" | "picked-up" | "unknown" | "waiting" | "withdrawn" | "deleted";
40
40
  /**
41
41
  * 一条直发记录走到了哪一段,宿主轨迹与插件看板共用这一条优先级:撤回压过一切(拿掉了的信不再有后文);
42
42
  * 回复是强信号,压过取件;收件人是人的只落了记录,不走 agent 的交接(D145 选 A);其次取件;
43
43
  * 删除:没被取走(本来是等待或结果不明)的记录不会再被取走,收成 `deleted`,已取件、已回复、已记录的保持
44
- * 原样;`unknown` 投递结果不明(不会重投);否则等待。收件人不明、人发给 agent 的照旧按交接阶段。
44
+ * 原样;处理轮结束记为 `processed`,仍区别于明确回复;`unknown` 投递结果不明(不会重投);否则等待。
45
45
  * `body` 不给就当正文在,读不到正文(`unavailable`)不改阶段。
46
46
  */
47
47
  export declare function communicationRecordStage(record: {
48
48
  readonly replied: boolean;
49
+ readonly processed?: boolean;
49
50
  readonly toPerson: boolean;
50
51
  readonly handedOff: "not-dispatched" | "confirmed" | "unknown";
51
52
  readonly body?: CommunicationViewBodyState | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"communication-view.d.ts","sourceRoot":"","sources":["../src/communication-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communication-view.d.ts","sourceRoot":"","sources":["../src/communication-view.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * 一条直发记录走到了哪一段,宿主轨迹与插件看板共用这一条优先级:撤回压过一切(拿掉了的信不再有后文);
3
3
  * 回复是强信号,压过取件;收件人是人的只落了记录,不走 agent 的交接(D145 选 A);其次取件;
4
4
  * 删除:没被取走(本来是等待或结果不明)的记录不会再被取走,收成 `deleted`,已取件、已回复、已记录的保持
5
- * 原样;`unknown` 投递结果不明(不会重投);否则等待。收件人不明、人发给 agent 的照旧按交接阶段。
5
+ * 原样;处理轮结束记为 `processed`,仍区别于明确回复;`unknown` 投递结果不明(不会重投);否则等待。
6
6
  * `body` 不给就当正文在,读不到正文(`unavailable`)不改阶段。
7
7
  */
8
8
  export function communicationRecordStage(record) {
@@ -12,6 +12,8 @@ export function communicationRecordStage(record) {
12
12
  return "answered";
13
13
  if (record.toPerson)
14
14
  return "recorded";
15
+ if (record.processed)
16
+ return "processed";
15
17
  if (record.handedOff === "confirmed")
16
18
  return "picked-up";
17
19
  if (record.body === "deleted")
@@ -1 +1 @@
1
- {"version":3,"file":"communication-view.js","sourceRoot":"","sources":["../src/communication-view.ts"],"names":[],"mappings":"AAmDA;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAKxC;IACC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACpD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACvC,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"communication-view.js","sourceRoot":"","sources":["../src/communication-view.ts"],"names":[],"mappings":"AAoDA;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAMxC;IACC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACpD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACvC,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,WAAW,CAAC;IACzC,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACzD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC"}
@@ -3180,6 +3180,11 @@ export type ThreadsHistoryOutput = {
3180
3180
  readonly "nativeModeId"?: string;
3181
3181
  };
3182
3182
  readonly "origin"?: Objects_35 | Objects_36 | Objects_37 | Objects_38 | Objects_39 | Objects_40 | Objects_41 | Objects_42 | Objects_43 | Objects_44 | Objects_45 | Objects_46;
3183
+ readonly "sourceBlocks"?: ReadonlyArray<{
3184
+ readonly "origin"?: Objects_35 | Objects_36 | Objects_37 | Objects_38 | Objects_39 | Objects_40 | Objects_41 | Objects_42 | Objects_43 | Objects_44 | Objects_45 | Objects_46;
3185
+ readonly "textOffset": number;
3186
+ readonly "textLength": number;
3187
+ }>;
3183
3188
  readonly "noticesFolded"?: true;
3184
3189
  readonly "binding"?: {
3185
3190
  readonly "bindingId": string;
@@ -3248,6 +3253,7 @@ export type ThreadsHistoryOutput = {
3248
3253
  readonly "afterServerUpgrade": boolean;
3249
3254
  readonly "scheduledOnServerVersion": string | null;
3250
3255
  readonly "intentId": string | null;
3256
+ readonly "skipped"?: true;
3251
3257
  readonly "firedAt": string | null;
3252
3258
  readonly "cancelledAt": string | null;
3253
3259
  readonly "upgrade"?: {
@@ -7187,6 +7193,7 @@ export type ThreadsSessionStopInput = {
7187
7193
  readonly "threadId": string;
7188
7194
  readonly "onlyIfSettled"?: boolean;
7189
7195
  readonly "onlyIfNoTurnInFlight"?: boolean;
7196
+ readonly "reason"?: "context-change";
7190
7197
  };
7191
7198
  export type ThreadsSessionStopOutput = Objects_169;
7192
7199
  export type ThreadsSessionRetryCleanupInput = SessionCleanupRetryInput;
@@ -7582,6 +7589,11 @@ export type ThreadsHistoryEncodedOutput = {
7582
7589
  readonly "nativeModeId"?: string;
7583
7590
  };
7584
7591
  readonly "origin"?: Objects_35 | Objects_193 | Objects_194 | Objects_195 | Objects_196 | Objects_197 | Objects_198 | Objects_199 | Objects_200 | Objects_201 | Objects_45 | Objects_46;
7592
+ readonly "sourceBlocks"?: ReadonlyArray<{
7593
+ readonly "origin"?: Objects_35 | Objects_193 | Objects_194 | Objects_195 | Objects_196 | Objects_197 | Objects_198 | Objects_199 | Objects_200 | Objects_201 | Objects_45 | Objects_46;
7594
+ readonly "textOffset": number;
7595
+ readonly "textLength": number;
7596
+ }>;
7585
7597
  readonly "noticesFolded"?: true;
7586
7598
  readonly "binding"?: {
7587
7599
  readonly "bindingId": string;
@@ -7650,6 +7662,7 @@ export type ThreadsHistoryEncodedOutput = {
7650
7662
  readonly "afterServerUpgrade": boolean;
7651
7663
  readonly "scheduledOnServerVersion": string | null;
7652
7664
  readonly "intentId": string | null;
7665
+ readonly "skipped"?: true;
7653
7666
  readonly "firedAt": string | null;
7654
7667
  readonly "cancelledAt": string | null;
7655
7668
  readonly "upgrade"?: {