@fangyb/ahchat-bridge 0.1.43 → 0.1.44

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.
@@ -5884,6 +5884,28 @@ init_cjs_shims();
5884
5884
  // ../shared/src/types/index.ts
5885
5885
  init_cjs_shims();
5886
5886
 
5887
+ // ../shared/src/types/backgroundTask.ts
5888
+ init_cjs_shims();
5889
+ var BACKGROUND_TASK_STATUSES = [
5890
+ "queued",
5891
+ "running",
5892
+ "completed",
5893
+ "failed",
5894
+ "interrupted"
5895
+ ];
5896
+ var BACKGROUND_TASK_KINDS = [
5897
+ "external_recoverable",
5898
+ "local_ephemeral"
5899
+ ];
5900
+ var BACKGROUND_TASK_RUNNERS = [
5901
+ "seedance",
5902
+ "seedream",
5903
+ "mcp_tool_poll",
5904
+ "generic_external_poll",
5905
+ "local_process",
5906
+ "agent_subsession"
5907
+ ];
5908
+
5887
5909
  // ../shared/src/types/usage.ts
5888
5910
  init_cjs_shims();
5889
5911
 
@@ -5969,6 +5991,18 @@ function assertOptionalNumberPayloadField(type, payload, field) {
5969
5991
  if (payload[field] === void 0) return;
5970
5992
  assertNumberPayloadField(type, payload, field);
5971
5993
  }
5994
+ function assertOptionalNullableNumberPayloadField(type, payload, field) {
5995
+ if (payload[field] === void 0 || payload[field] === null) return;
5996
+ assertNumberPayloadField(type, payload, field);
5997
+ }
5998
+ function assertOptionalStringPayloadField(type, payload, field) {
5999
+ if (payload[field] === void 0) return;
6000
+ assertStringPayloadField(type, payload, field);
6001
+ }
6002
+ function assertOptionalNullableStringPayloadField(type, payload, field) {
6003
+ if (payload[field] === void 0 || payload[field] === null) return;
6004
+ assertStringPayloadField(type, payload, field);
6005
+ }
5972
6006
  function assertNullableStringPayloadField(type, payload, field) {
5973
6007
  if (payload[field] === null) return;
5974
6008
  assertStringPayloadField(type, payload, field);
@@ -6062,6 +6096,7 @@ function validateWSMessageShape(msg) {
6062
6096
  ]);
6063
6097
  assertArrayPayloadField(type, payload, "contentBlocks");
6064
6098
  assertRecordPayloadField(type, payload, "metadata");
6099
+ assertOptionalStringPayloadField(type, payload, "replyToId");
6065
6100
  return;
6066
6101
  }
6067
6102
  case "agent:workdir_file_attachment": {
@@ -6090,6 +6125,9 @@ function validateWSMessageShape(msg) {
6090
6125
  if ("workdirSignals" in payload && payload.workdirSignals !== void 0) {
6091
6126
  assertWorkdirSignalsPayloadField(type, payload, "workdirSignals");
6092
6127
  }
6128
+ if ("metadata" in payload && payload.metadata !== void 0) {
6129
+ assertRecordPayloadField(type, payload, "metadata");
6130
+ }
6093
6131
  return;
6094
6132
  }
6095
6133
  case "agent:turn_complete": {
@@ -6127,6 +6165,68 @@ function validateWSMessageShape(msg) {
6127
6165
  assertNullableStringPayloadField(type, payload, "canonicalAddress");
6128
6166
  return;
6129
6167
  }
6168
+ case "background_task:dispatch": {
6169
+ assertPayloadRecord(type, payload);
6170
+ validateRequiredStrings(type, payload, [
6171
+ "taskId",
6172
+ "title",
6173
+ "description",
6174
+ "kind",
6175
+ "runner",
6176
+ "status",
6177
+ "agentId",
6178
+ "conversationId",
6179
+ "sourceMessageId",
6180
+ "scopeKey",
6181
+ "createdAt",
6182
+ "updatedAt"
6183
+ ]);
6184
+ assertStringPayloadOneOf(type, payload, "kind", BACKGROUND_TASK_KINDS);
6185
+ assertStringPayloadOneOf(type, payload, "runner", BACKGROUND_TASK_RUNNERS);
6186
+ assertStringPayloadOneOf(type, payload, "status", BACKGROUND_TASK_STATUSES);
6187
+ assertOptionalNullableStringPayloadField(type, payload, "groupId");
6188
+ assertOptionalNullableStringPayloadField(type, payload, "bridgeKey");
6189
+ assertOptionalNullableStringPayloadField(type, payload, "externalTaskId");
6190
+ assertOptionalNullableStringPayloadField(type, payload, "inputJson");
6191
+ assertOptionalNullableStringPayloadField(type, payload, "traceId");
6192
+ return;
6193
+ }
6194
+ case "background_task:ack": {
6195
+ assertPayloadRecord(type, payload);
6196
+ validateRequiredStrings(type, payload, ["taskId", "agentId", "traceId", "receivedAt"]);
6197
+ return;
6198
+ }
6199
+ case "background_task:status": {
6200
+ assertPayloadRecord(type, payload);
6201
+ validateRequiredStrings(type, payload, [
6202
+ "taskId",
6203
+ "status",
6204
+ "agentId",
6205
+ "conversationId",
6206
+ "traceId",
6207
+ "updatedAt"
6208
+ ]);
6209
+ assertStringPayloadOneOf(type, payload, "status", BACKGROUND_TASK_STATUSES);
6210
+ assertOptionalNullableStringPayloadField(type, payload, "groupId");
6211
+ assertOptionalNullableStringPayloadField(type, payload, "outputSummary");
6212
+ assertOptionalNullableStringPayloadField(type, payload, "outputDetail");
6213
+ assertOptionalNullableStringPayloadField(type, payload, "errorMessage");
6214
+ assertOptionalNullableStringPayloadField(type, payload, "externalTaskId");
6215
+ return;
6216
+ }
6217
+ case "background_task:changed": {
6218
+ assertPayloadRecord(type, payload);
6219
+ assertRecordPayloadField(type, payload, "task");
6220
+ const task = payload.task;
6221
+ validateRequiredStrings(type, task, ["id", "title", "status", "agentId", "createdAt", "updatedAt"]);
6222
+ assertStringPayloadOneOf(type, task, "status", BACKGROUND_TASK_STATUSES);
6223
+ assertOptionalStringPayloadField(type, task, "agentName");
6224
+ assertOptionalNullableNumberPayloadField(type, task, "durationMs");
6225
+ assertOptionalNullableStringPayloadField(type, task, "startedAt");
6226
+ assertOptionalNullableStringPayloadField(type, task, "completedAt");
6227
+ assertOptionalNullableStringPayloadField(type, payload, "traceId");
6228
+ return;
6229
+ }
6130
6230
  default:
6131
6231
  return;
6132
6232
  }
@@ -7724,6 +7824,8 @@ var OUTBOX_CRITICAL_TYPES = /* @__PURE__ */ new Set([
7724
7824
  "artifact:created",
7725
7825
  "agent:todos_update",
7726
7826
  "feedback:analysis_result",
7827
+ "background_task:ack",
7828
+ "background_task:status",
7727
7829
  "bridge:resume_reply_session_response"
7728
7830
  ]);
7729
7831
  var OUTBOX_MAX_ENTRIES = 300;
@@ -7965,6 +8067,15 @@ var ServerConnector = class {
7965
8067
  });
7966
8068
  return;
7967
8069
  }
8070
+ case "background_task:dispatch":
8071
+ case "background_task:changed": {
8072
+ if (this.onServerPush) {
8073
+ void Promise.resolve(this.onServerPush(msg)).catch((err) => {
8074
+ logger2.error("onServerPush handler failed", { error: err, type: msg.type });
8075
+ });
8076
+ }
8077
+ return;
8078
+ }
7968
8079
  case "session:terminated": {
7969
8080
  logger2.warn("Session terminated by server, exiting bridge process", {
7970
8081
  reason: msg.payload.reason