@gravity-ui/aikit 2.6.0 → 2.6.1

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.
Files changed (23) hide show
  1. package/build/cjs/adapters/openai/helpers/getStreamEventContentUpdate.js +3 -3
  2. package/build/cjs/adapters/openai/helpers/getStreamEventContentUpdate.js.map +1 -1
  3. package/build/cjs/adapters/openai/helpers/getTextDeltaFromStreamEvent.js +2 -2
  4. package/build/cjs/adapters/openai/helpers/getTextDeltaFromStreamEvent.js.map +1 -1
  5. package/build/cjs/adapters/openai/helpers/isTerminalTextLikeDoneEvent.d.ts +2 -0
  6. package/build/cjs/adapters/openai/helpers/isTerminalTextLikeDoneEvent.js +16 -0
  7. package/build/cjs/adapters/openai/helpers/isTerminalTextLikeDoneEvent.js.map +1 -0
  8. package/build/cjs/package.json +1 -1
  9. package/build/esm/adapters/openai/helpers/getStreamEventContentUpdate.js +3 -3
  10. package/build/esm/adapters/openai/helpers/getStreamEventContentUpdate.js.map +1 -1
  11. package/build/esm/adapters/openai/helpers/getTextDeltaFromStreamEvent.js +2 -2
  12. package/build/esm/adapters/openai/helpers/getTextDeltaFromStreamEvent.js.map +1 -1
  13. package/build/esm/adapters/openai/helpers/isTerminalTextLikeDoneEvent.d.ts +2 -0
  14. package/build/esm/adapters/openai/helpers/isTerminalTextLikeDoneEvent.js +13 -0
  15. package/build/esm/adapters/openai/helpers/isTerminalTextLikeDoneEvent.js.map +1 -0
  16. package/build/esm/package.json +1 -1
  17. package/package.json +1 -1
  18. package/build/cjs/adapters/openai/helpers/isOutputTextOrContentPartDone.d.ts +0 -2
  19. package/build/cjs/adapters/openai/helpers/isOutputTextOrContentPartDone.js +0 -14
  20. package/build/cjs/adapters/openai/helpers/isOutputTextOrContentPartDone.js.map +0 -1
  21. package/build/esm/adapters/openai/helpers/isOutputTextOrContentPartDone.d.ts +0 -2
  22. package/build/esm/adapters/openai/helpers/isOutputTextOrContentPartDone.js +0 -11
  23. package/build/esm/adapters/openai/helpers/isOutputTextOrContentPartDone.js.map +0 -1
@@ -234,14 +234,14 @@ function getStreamEventContentUpdate(event) {
234
234
  const type = (_c = (_a = e.type) !== null && _a !== void 0 ? _a : (_b = e.data) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : e.event;
235
235
  const data = e.data;
236
236
  const itemId = typeof e.item_id === 'string' ? e.item_id : data === null || data === void 0 ? void 0 : data.item_id;
237
- const delta = (0, getTextDeltaFromStreamEvent_1.getTextDeltaFromStreamEvent)(event);
238
- if (delta)
239
- return { kind: 'text_delta', delta };
240
237
  if (itemId) {
241
238
  const reasoningUpdate = getReasoningUpdate(e, data, type, itemId);
242
239
  if (reasoningUpdate)
243
240
  return reasoningUpdate;
244
241
  }
242
+ const delta = (0, getTextDeltaFromStreamEvent_1.getTextDeltaFromStreamEvent)(event);
243
+ if (delta)
244
+ return { kind: 'text_delta', delta };
245
245
  if (type === 'response.output_item.added') {
246
246
  return getUpdateFromOutputItemAdded(e, data, itemId);
247
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getStreamEventContentUpdate.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/getStreamEventContentUpdate.ts"],"names":[],"mappings":";;AAgWA,kEA0CC;AAvYD,kFAA0E;AAC1E,0DAAkD;AAwClD,MAAM,oBAAoB,GAAiC;IACvD,CAAC,qCAAqC,EAAE,SAAS,CAAC;IAClD,CAAC,uCAAuC,EAAE,SAAS,CAAC;IACpD,CAAC,qCAAqC,EAAE,SAAS,CAAC;IAClD,CAAC,oCAAoC,EAAE,SAAS,CAAC;IACjD,CAAC,sCAAsC,EAAE,SAAS,CAAC;IACnD,CAAC,oCAAoC,EAAE,SAAS,CAAC;IACjD,CAAC,0CAA0C,EAAE,SAAS,CAAC;IACvD,CAAC,4CAA4C,EAAE,SAAS,CAAC;IACzD,CAAC,6CAA6C,EAAE,SAAS,CAAC;IAC1D,CAAC,0CAA0C,EAAE,SAAS,CAAC;IACvD,CAAC,4CAA4C,EAAE,SAAS,CAAC;IACzD,CAAC,2CAA2C,EAAE,SAAS,CAAC;IACxD,CAAC,mCAAmC,EAAE,SAAS,CAAC;IAChD,CAAC,qCAAqC,EAAE,SAAS,CAAC;CACrD,CAAC;AAEF,SAAS,kBAAkB,CACvB,CAAc,EACd,IAA6B,EAC7B,IAAa,EACb,MAAc;;IAEd,IACI,IAAI,KAAK,+BAA+B;QACxC,IAAI,KAAK,uCAAuC,EAClD,CAAC;QACC,MAAM,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,KAAK,mCAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAuB,CAAC;QACzD,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9F,CAAC;IACD,IACI,IAAI,KAAK,8BAA8B;QACvC,IAAI,KAAK,sCAAsC,EACjD,CAAC;QACC,MAAM,IAAI,GAAG,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAuB,CAAC;QAC1D,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5F,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC1B,EAAU,EACV,MAA0B;IAE1B,MAAM,WAAW,GAAG,EAAE,IAAI,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;IACzC,OAAO,WAAW,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED,SAAS,mBAAmB,CACxB,IAAgC,EAChC,EAAU;;IAEV,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC;IACzC,uBACI,IAAI,EAAE,UAAU,EAChB,EAAE,EACF,QAAQ,EAAE,MAAA,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,WAAW,mCAAI,KAAK,EACtC,WAAW,IACR,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,UAAU,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACrC;AACN,CAAC;AAED,SAAS,wBAAwB,CAC7B,IAAgC;;IAEhC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAC,IAAI,CAAC,EAAa,mCAAI,EAAE,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC1D,CAAC;AAED,SAAS,sBAAsB,CAC3B,IAAgC,EAChC,EAAU,EACV,MAAmD;;IAEnD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,EAAE;QACF,QAAQ,EAAE,MAAA,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,WAAW,mCAAI,KAAK;QACtC,WAAW;QACX,MAAM;QACN,aAAa,EAAE,IAAI;KACtB,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,EAAU,EAAE,QAAgB;IACxD,OAAO,EAAE,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,MAAM,6BAA6B,GAA2B;IAC1D,gBAAgB,EAAE,aAAa;IAC/B,eAAe,EAAE,YAAY;IAC7B,qBAAqB,EAAE,kBAAkB;IACzC,qBAAqB,EAAE,kBAAkB;IACzC,cAAc,EAAE,gBAAgB;CACnC,CAAC;AAEF,SAAS,4BAA4B,CACjC,CAAc,EACd,IAA6B,EAC7B,MAA0B;;IAE1B,MAAM,IAAI,GAAG,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAmC,CAEnD,CAAC;IAChB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,qBAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnE,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB;QACpC,OAAO,sBAAsB,CAAC,IAAI,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACnE,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB;QACtC,OAAO,sBAAsB,CAAC,IAAI,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,IAAI,QAAQ;QAAE,OAAO,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE1D,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAgC;;IAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1E,MAAM,SAAS,GAAG,IAIjB,CAAC;IACF,MAAM,KAAK,GACP,MAAA,MAAA,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,mCACvF,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,mCACvF,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,EAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAC,CAAC;AAChE,CAAC;AAED,SAAS,kCAAkC,CAAC,MAA0B;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAC1B,MAA0B,EAC1B,SAA6B;IAE7B,IAAI,MAAM,IAAI,kCAAkC,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAgC;;IAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzE,MAAM,GAAG,GAAG,IAQX,CAAC;IACF,MAAM,EAAE,GAAG,MAAA,GAAG,CAAC,MAAM,mCAAI,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9E,IAAI,MAAM,GAAgB,SAAS,CAAC;IACpC,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;QACzC,MAAM,GAAG,OAAO,CAAC;IACrB,CAAC;SAAM,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;QACjD,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAChB,MAAM,GAAG,OAAO,CAAC;IACrB,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,QAA4B,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;SACjD,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;QAAE,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;;QACtE,QAAQ,GAAG,SAAS,CAAC;IAE1B,MAAM,UAAU,GAAG,IAAA,iCAAe,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,iCAAe,EAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,CAAC,CAAC;IAEzD,qCACI,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,GAAG,CAAC,EAAE,EACf,MAAM;QACN,QAAQ,EACR,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,IACV,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,UAAU,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAChC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACvC;AACN,CAAC;AAED,SAAS,yBAAyB,CAC9B,IAAgC;IAEhC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,EAAE,GAAG,IAOV,CAAC;IACF,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,IAAI,QAAQ,GAAgB,SAAS,CAAC;IACtC,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC5B,QAAQ,GAAG,SAAS,CAAC;IACzB,CAAC;SAAM,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,QAAQ,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IACvB,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,SAAS,CAAC;IACvB,CAAC;IAED,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3D,MAAM;QACN,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAC1B,IAAgC,EAChC,QAAgB;IAEhB,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,CAAC,GAAG,IAMT,CAAC;IACF,IAAI,MAAM,GAAgB,SAAS,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;QAAE,MAAM,GAAG,SAAS,CAAC;SAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY;QAAE,MAAM,GAAG,OAAO,CAAC;IAE9E,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,CAAC;SAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;IACvB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,SAAS,CAAC;IACvB,CAAC;IACD,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,CAAC,EAAE;QACb,MAAM;QACN,QAAQ;QACR,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KAC3D,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAChC,CAAc,EACd,IAA6B;;IAE7B,MAAM,IAAI,GAAG,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAmC,CAEnD,CAAC;IAChB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,CACH,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,sBAAsB,CAAC,IAAI,CAAC,mCAC5B,oBAAoB,CAAC,IAAI,CAAC,mCAC1B,yBAAyB,CAAC,IAAI,CAAC,mCAC/B,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mCACtF,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mCACpF,CAAC,IAAI,CAAC,IAAI,KAAK,uBAAuB;QAClC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,mCACX,CAAC,IAAI,CAAC,IAAI,KAAK,uBAAuB;QAClC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,mCACX,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC1F,CAAC;AACN,CAAC;AAED,oGAAoG;AAEpG,SAAgB,2BAA2B,CACvC,KAA+C;;IAE/C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,GAAG,KAAoB,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAA,MAAA,CAAC,CAAC,IAAI,mCAAI,MAAC,CAAC,CAAC,IAAwB,0CAAE,IAAI,mCAAI,CAAC,CAAC,KAAK,CAAC;IACpE,MAAM,IAAI,GAAG,CAAC,CAAC,IAA+B,CAAC;IAC/C,MAAM,MAAM,GACR,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAA8B,CAAC;IAEtF,MAAM,KAAK,GAAG,IAAA,yDAA2B,EAAC,KAAK,CAAC,CAAC;IACjD,IAAI,KAAK;QAAE,OAAO,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAC,CAAC;IAE9C,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,KAAK,4BAA4B,EAAE,CAAC;QACxC,OAAO,4BAA4B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,IAAI,KAAK,6BAA6B,IAAI,MAAM,EAAE,CAAC;QACnD,OAAO,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,CAAC;IACrE,CAAC;IACD,IAAI,IAAI,KAAK,0BAA0B,IAAI,MAAM,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,OAAO,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC;IAC/E,CAAC;IAED,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACrE,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;QAC1B,OAAO,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAC,CAAC;IAC5E,CAAC;IACD,IAAI,IAAI,KAAK,gCAAgC,IAAI,MAAM,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,OAAO,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC;IAC/E,CAAC;IAED,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACvC,OAAO,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["import type {TToolStatus} from '../../../types';\nimport {OpenAIStreamEventLike, OpenAIStreamOutputItemLike} from '../types/openAiTypes';\n\nimport {getTextDeltaFromStreamEvent} from './getTextDeltaFromStreamEvent';\nimport {prettyPrintJson} from './prettyPrintJson';\n\ntype EventRecord = Record<string, unknown>;\n\nexport type StreamEventTextDelta = {kind: 'text_delta'; delta: string};\nexport type StreamEventToolAdd = {\n kind: 'tool_add';\n id: string;\n toolName: string;\n serverLabel?: string;\n /** Initial status; use 'waitingConfirmation' for mcp_approval_request, 'waitingSubmission' if API defines such. Default 'loading'. */\n status?: TToolStatus;\n /** Optional payload to show in tool card (e.g. approval request arguments). */\n headerContent?: string;\n /** MCP request arguments, pretty-printed JSON. Surfaced for AIStudioChat's tool renderer. */\n mcpRequest?: string;\n};\nexport type StreamEventToolUpdate = {\n kind: 'tool_update';\n item_id: string;\n status: TToolStatus;\n toolName?: string;\n output?: string;\n error?: string;\n /** MCP request arguments, pretty-printed JSON. */\n mcpRequest?: string;\n /** MCP response or error, pretty-printed JSON. */\n mcpResponse?: string;\n};\nexport type StreamEventThinkingAdd = {kind: 'thinking_add'; item_id: string};\nexport type StreamEventThinkingDelta = {kind: 'thinking_delta'; item_id: string; delta: string};\nexport type StreamEventThinkingDone = {kind: 'thinking_done'; item_id: string; text: string};\nexport type StreamEventContentUpdate =\n | StreamEventTextDelta\n | StreamEventToolAdd\n | StreamEventToolUpdate\n | StreamEventThinkingAdd\n | StreamEventThinkingDelta\n | StreamEventThinkingDone;\n\nconst TOOL_PROGRESS_EVENTS: Array<[string, TToolStatus]> = [\n ['response.file_search_call.completed', 'success'],\n ['response.file_search_call.in_progress', 'loading'],\n ['response.file_search_call.searching', 'loading'],\n ['response.web_search_call.completed', 'success'],\n ['response.web_search_call.in_progress', 'loading'],\n ['response.web_search_call.searching', 'loading'],\n ['response.code_interpreter_call.completed', 'success'],\n ['response.code_interpreter_call.in_progress', 'loading'],\n ['response.code_interpreter_call.interpreting', 'loading'],\n ['response.image_generation_call.completed', 'success'],\n ['response.image_generation_call.in_progress', 'loading'],\n ['response.image_generation_call.generating', 'loading'],\n ['response.mcp_list_tools.completed', 'success'],\n ['response.mcp_list_tools.in_progress', 'loading'],\n];\n\nfunction getReasoningUpdate(\n e: EventRecord,\n data: EventRecord | undefined,\n type: unknown,\n itemId: string,\n): StreamEventContentUpdate | null {\n if (\n type === 'response.reasoning_text.delta' ||\n type === 'response.reasoning_summary_text.delta'\n ) {\n const d = (e.delta ?? data?.delta) as string | undefined;\n return typeof d === 'string' ? {kind: 'thinking_delta', item_id: itemId, delta: d} : null;\n }\n if (\n type === 'response.reasoning_text.done' ||\n type === 'response.reasoning_summary_text.done'\n ) {\n const text = (e.text ?? data?.text) as string | undefined;\n return typeof text === 'string' ? {kind: 'thinking_done', item_id: itemId, text} : null;\n }\n return null;\n}\n\nfunction addUpdateForReasoning(\n id: string,\n itemId: string | undefined,\n): StreamEventContentUpdate | null {\n const effectiveId = id || (itemId ?? '');\n return effectiveId ? {kind: 'thinking_add', item_id: effectiveId} : null;\n}\n\nfunction addUpdateForMcpCall(\n item: OpenAIStreamOutputItemLike,\n id: string,\n): StreamEventContentUpdate | null {\n const name = typeof item.name === 'string' ? item.name : undefined;\n const serverLabel = typeof item.server_label === 'string' ? item.server_label : undefined;\n const args = typeof item.arguments === 'string' ? item.arguments : undefined;\n const mcpRequest = prettyPrintJson(args);\n return {\n kind: 'tool_add',\n id,\n toolName: name ?? serverLabel ?? 'MCP',\n serverLabel,\n ...(mcpRequest ? {mcpRequest} : {}),\n };\n}\n\nfunction addUpdateForFunctionCall(\n item: OpenAIStreamOutputItemLike,\n): StreamEventContentUpdate | null {\n const callId = typeof item.call_id === 'string' ? item.call_id : ((item.id as string) ?? '');\n const name = typeof item.name === 'string' ? item.name : 'Tool';\n return {kind: 'tool_add', id: callId, toolName: name};\n}\n\nfunction addUpdateForMcpRequest(\n item: OpenAIStreamOutputItemLike,\n id: string,\n status: 'waitingConfirmation' | 'waitingSubmission',\n): StreamEventContentUpdate | null {\n const name = typeof item.name === 'string' ? item.name : undefined;\n const serverLabel = typeof item.server_label === 'string' ? item.server_label : undefined;\n const args = typeof item.arguments === 'string' ? item.arguments : undefined;\n return {\n kind: 'tool_add',\n id,\n toolName: name ?? serverLabel ?? 'MCP',\n serverLabel,\n status,\n headerContent: args,\n };\n}\n\nfunction addUpdateForSimpleTool(id: string, toolName: string): StreamEventContentUpdate | null {\n return id ? {kind: 'tool_add', id, toolName} : null;\n}\n\nconst OUTPUT_ITEM_TYPE_TO_TOOL_NAME: Record<string, string> = {\n file_search_call: 'File Search',\n web_search_call: 'Web Search',\n code_interpreter_call: 'Code Interpreter',\n image_generation_call: 'Image Generation',\n mcp_list_tools: 'MCP List Tools',\n};\n\nfunction getUpdateFromOutputItemAdded(\n e: EventRecord,\n data: EventRecord | undefined,\n itemId: string | undefined,\n): StreamEventContentUpdate | null {\n const item = (e.item ?? (data?.item as OpenAIStreamOutputItemLike)) as\n | OpenAIStreamOutputItemLike\n | undefined;\n if (!item) return null;\n const id = typeof item.id === 'string' ? item.id : '';\n\n if (item.type === 'reasoning') return addUpdateForReasoning(id, itemId);\n if (item.type === 'mcp_call') return addUpdateForMcpCall(item, id);\n if (item.type === 'function_call') return addUpdateForFunctionCall(item);\n if (item.type === 'mcp_approval_request')\n return addUpdateForMcpRequest(item, id, 'waitingConfirmation');\n if (item.type === 'mcp_submission_request')\n return addUpdateForMcpRequest(item, id, 'waitingSubmission');\n\n const toolName = item.type ? OUTPUT_ITEM_TYPE_TO_TOOL_NAME[item.type] : undefined;\n if (toolName) return addUpdateForSimpleTool(id, toolName);\n\n return null;\n}\n\nfunction getReasoningDoneUpdate(item: OpenAIStreamOutputItemLike): StreamEventContentUpdate | null {\n if (item.type !== 'reasoning' || typeof item.id !== 'string') return null;\n const reasoning = item as {\n id: string;\n content?: Array<{type: string; text?: string}>;\n summary?: Array<{type: string; text?: string}>;\n };\n const texts =\n reasoning.content?.map((c) => c.text).filter((t): t is string => typeof t === 'string') ??\n reasoning.summary?.map((s) => s.text).filter((t): t is string => typeof t === 'string') ??\n [];\n const text = texts.length <= 1 ? (texts[0] ?? '') : texts.join('\\n\\n');\n return {kind: 'thinking_done', item_id: reasoning.id, text};\n}\n\nfunction mcpOutputIndicatesApplicationError(output: string | undefined): boolean {\n if (!output) return false;\n return /\\berror\\s*=\\s*[\"']true[\"']/.test(output);\n}\n\nfunction mcpTerminalToolStatus(\n errStr: string | undefined,\n outputStr: string | undefined,\n): 'success' | 'error' {\n if (errStr || mcpOutputIndicatesApplicationError(outputStr)) {\n return 'error';\n }\n return 'success';\n}\n\nfunction getMcpCallDoneUpdate(item: OpenAIStreamOutputItemLike): StreamEventContentUpdate | null {\n if (item.type !== 'mcp_call' || typeof item.id !== 'string') return null;\n const mcp = item as {\n id: string;\n name?: string;\n server_label?: string;\n status?: string;\n arguments?: string;\n output?: string;\n error?: string;\n };\n const st = mcp.status ?? '';\n const outputStr = typeof mcp.output === 'string' ? mcp.output : undefined;\n const errStr = typeof mcp.error === 'string' ? mcp.error : undefined;\n const argsStr = typeof mcp.arguments === 'string' ? mcp.arguments : undefined;\n\n let status: TToolStatus = 'loading';\n if (st === 'failed' || st === 'incomplete') {\n status = 'error';\n } else if (st === 'completed' || st === 'complete') {\n status = mcpTerminalToolStatus(errStr, outputStr);\n } else if (errStr) {\n status = 'error';\n } else if (outputStr !== undefined) {\n status = mcpTerminalToolStatus(errStr, outputStr);\n }\n let toolName: string | undefined;\n if (typeof mcp.name === 'string') toolName = mcp.name;\n else if (typeof mcp.server_label === 'string') toolName = mcp.server_label;\n else toolName = undefined;\n\n const mcpRequest = prettyPrintJson(argsStr);\n const mcpResponse = prettyPrintJson(errStr ?? outputStr);\n\n return {\n kind: 'tool_update',\n item_id: mcp.id,\n status,\n toolName,\n output: outputStr,\n error: errStr,\n ...(mcpRequest ? {mcpRequest} : {}),\n ...(mcpResponse ? {mcpResponse} : {}),\n };\n}\n\nfunction getFunctionCallDoneUpdate(\n item: OpenAIStreamOutputItemLike,\n): StreamEventContentUpdate | null {\n if (item.type !== 'function_call') return null;\n const fn = item as {\n call_id: string;\n name?: string;\n output?: string;\n result?: string;\n status?: string;\n error?: string;\n };\n const fnCallId = fn.call_id ? fn.call_id : '';\n\n if (!fnCallId) return null;\n\n let fnStatus: TToolStatus = 'loading';\n if (fn.status === 'completed') {\n fnStatus = 'success';\n } else if (fn.status === 'failed') {\n fnStatus = 'error';\n }\n\n let output: string | undefined;\n if (typeof fn.output === 'string') {\n output = fn.output;\n } else if (typeof fn.result === 'string') {\n output = fn.result;\n } else {\n output = undefined;\n }\n\n return {\n kind: 'tool_update',\n item_id: fnCallId,\n status: fnStatus,\n toolName: typeof fn.name === 'string' ? fn.name : undefined,\n output,\n error: typeof fn.error === 'string' ? fn.error : undefined,\n };\n}\n\nfunction getToolCallDoneUpdate(\n item: OpenAIStreamOutputItemLike,\n toolName: string,\n): StreamEventContentUpdate | null {\n if (typeof item.id !== 'string') return null;\n const t = item as {\n id: string;\n status?: string;\n error?: string;\n output?: string;\n results?: unknown;\n };\n let status: TToolStatus = 'loading';\n if (t.status === 'completed') status = 'success';\n else if (t.status === 'failed' || t.status === 'incomplete') status = 'error';\n\n let output: string | undefined;\n if (typeof t.output === 'string') {\n output = t.output;\n } else if (typeof t.results === 'string') {\n output = t.results;\n } else if (Array.isArray(t.results)) {\n output = JSON.stringify(t.results);\n } else {\n output = undefined;\n }\n return {\n kind: 'tool_update',\n item_id: t.id,\n status,\n toolName,\n output,\n error: typeof t.error === 'string' ? t.error : undefined,\n };\n}\n\nfunction getUpdateFromOutputItemDone(\n e: EventRecord,\n data: EventRecord | undefined,\n): StreamEventContentUpdate | null {\n const item = (e.item ?? (data?.item as OpenAIStreamOutputItemLike)) as\n | OpenAIStreamOutputItemLike\n | undefined;\n if (!item) return null;\n return (\n getReasoningDoneUpdate(item) ??\n getMcpCallDoneUpdate(item) ??\n getFunctionCallDoneUpdate(item) ??\n (item.type === 'file_search_call' ? getToolCallDoneUpdate(item, 'File Search') : null) ??\n (item.type === 'web_search_call' ? getToolCallDoneUpdate(item, 'Web Search') : null) ??\n (item.type === 'code_interpreter_call'\n ? getToolCallDoneUpdate(item, 'Code Interpreter')\n : null) ??\n (item.type === 'image_generation_call'\n ? getToolCallDoneUpdate(item, 'Image Generation')\n : null) ??\n (item.type === 'mcp_list_tools' ? getToolCallDoneUpdate(item, 'MCP List Tools') : null)\n );\n}\n\n/** Stream event → content update (text delta, tool add/update, thinking add/delta/done) or null. */\n\nexport function getStreamEventContentUpdate(\n event: OpenAIStreamEventLike | null | undefined,\n): StreamEventContentUpdate | null {\n if (!event) return null;\n const e = event as EventRecord;\n const type = e.type ?? (e.data as {type?: string})?.type ?? e.event;\n const data = e.data as EventRecord | undefined;\n const itemId =\n typeof e.item_id === 'string' ? e.item_id : (data?.item_id as string | undefined);\n\n const delta = getTextDeltaFromStreamEvent(event);\n if (delta) return {kind: 'text_delta', delta};\n\n if (itemId) {\n const reasoningUpdate = getReasoningUpdate(e, data, type, itemId);\n if (reasoningUpdate) return reasoningUpdate;\n }\n\n if (type === 'response.output_item.added') {\n return getUpdateFromOutputItemAdded(e, data, itemId);\n }\n if (type === 'response.mcp_call.completed' && itemId) {\n return {kind: 'tool_update', item_id: itemId, status: 'success'};\n }\n if (type === 'response.mcp_call.failed' && itemId) {\n const err = typeof e.error === 'string' ? e.error : undefined;\n return {kind: 'tool_update', item_id: itemId, status: 'error', error: err};\n }\n\n const progressMatch = TOOL_PROGRESS_EVENTS.find(([t]) => t === type);\n if (progressMatch && itemId) {\n return {kind: 'tool_update', item_id: itemId, status: progressMatch[1]};\n }\n if (type === 'response.mcp_list_tools.failed' && itemId) {\n const err = typeof e.error === 'string' ? e.error : undefined;\n return {kind: 'tool_update', item_id: itemId, status: 'error', error: err};\n }\n\n if (type === 'response.output_item.done') {\n return getUpdateFromOutputItemDone(e, data);\n }\n return null;\n}\n"]}
1
+ {"version":3,"file":"getStreamEventContentUpdate.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/getStreamEventContentUpdate.ts"],"names":[],"mappings":"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","sourcesContent":["import type {TToolStatus} from '../../../types';\nimport {OpenAIStreamEventLike, OpenAIStreamOutputItemLike} from '../types/openAiTypes';\n\nimport {getTextDeltaFromStreamEvent} from './getTextDeltaFromStreamEvent';\nimport {prettyPrintJson} from './prettyPrintJson';\n\ntype EventRecord = Record<string, unknown>;\n\nexport type StreamEventTextDelta = {kind: 'text_delta'; delta: string};\nexport type StreamEventToolAdd = {\n kind: 'tool_add';\n id: string;\n toolName: string;\n serverLabel?: string;\n /** Initial status; use 'waitingConfirmation' for mcp_approval_request, 'waitingSubmission' if API defines such. Default 'loading'. */\n status?: TToolStatus;\n /** Optional payload to show in tool card (e.g. approval request arguments). */\n headerContent?: string;\n /** MCP request arguments, pretty-printed JSON. Surfaced for AIStudioChat's tool renderer. */\n mcpRequest?: string;\n};\nexport type StreamEventToolUpdate = {\n kind: 'tool_update';\n item_id: string;\n status: TToolStatus;\n toolName?: string;\n output?: string;\n error?: string;\n /** MCP request arguments, pretty-printed JSON. */\n mcpRequest?: string;\n /** MCP response or error, pretty-printed JSON. */\n mcpResponse?: string;\n};\nexport type StreamEventThinkingAdd = {kind: 'thinking_add'; item_id: string};\nexport type StreamEventThinkingDelta = {kind: 'thinking_delta'; item_id: string; delta: string};\nexport type StreamEventThinkingDone = {kind: 'thinking_done'; item_id: string; text: string};\nexport type StreamEventContentUpdate =\n | StreamEventTextDelta\n | StreamEventToolAdd\n | StreamEventToolUpdate\n | StreamEventThinkingAdd\n | StreamEventThinkingDelta\n | StreamEventThinkingDone;\n\nconst TOOL_PROGRESS_EVENTS: Array<[string, TToolStatus]> = [\n ['response.file_search_call.completed', 'success'],\n ['response.file_search_call.in_progress', 'loading'],\n ['response.file_search_call.searching', 'loading'],\n ['response.web_search_call.completed', 'success'],\n ['response.web_search_call.in_progress', 'loading'],\n ['response.web_search_call.searching', 'loading'],\n ['response.code_interpreter_call.completed', 'success'],\n ['response.code_interpreter_call.in_progress', 'loading'],\n ['response.code_interpreter_call.interpreting', 'loading'],\n ['response.image_generation_call.completed', 'success'],\n ['response.image_generation_call.in_progress', 'loading'],\n ['response.image_generation_call.generating', 'loading'],\n ['response.mcp_list_tools.completed', 'success'],\n ['response.mcp_list_tools.in_progress', 'loading'],\n];\n\nfunction getReasoningUpdate(\n e: EventRecord,\n data: EventRecord | undefined,\n type: unknown,\n itemId: string,\n): StreamEventContentUpdate | null {\n if (\n type === 'response.reasoning_text.delta' ||\n type === 'response.reasoning_summary_text.delta'\n ) {\n const d = (e.delta ?? data?.delta) as string | undefined;\n return typeof d === 'string' ? {kind: 'thinking_delta', item_id: itemId, delta: d} : null;\n }\n if (\n type === 'response.reasoning_text.done' ||\n type === 'response.reasoning_summary_text.done'\n ) {\n const text = (e.text ?? data?.text) as string | undefined;\n return typeof text === 'string' ? {kind: 'thinking_done', item_id: itemId, text} : null;\n }\n return null;\n}\n\nfunction addUpdateForReasoning(\n id: string,\n itemId: string | undefined,\n): StreamEventContentUpdate | null {\n const effectiveId = id || (itemId ?? '');\n return effectiveId ? {kind: 'thinking_add', item_id: effectiveId} : null;\n}\n\nfunction addUpdateForMcpCall(\n item: OpenAIStreamOutputItemLike,\n id: string,\n): StreamEventContentUpdate | null {\n const name = typeof item.name === 'string' ? item.name : undefined;\n const serverLabel = typeof item.server_label === 'string' ? item.server_label : undefined;\n const args = typeof item.arguments === 'string' ? item.arguments : undefined;\n const mcpRequest = prettyPrintJson(args);\n return {\n kind: 'tool_add',\n id,\n toolName: name ?? serverLabel ?? 'MCP',\n serverLabel,\n ...(mcpRequest ? {mcpRequest} : {}),\n };\n}\n\nfunction addUpdateForFunctionCall(\n item: OpenAIStreamOutputItemLike,\n): StreamEventContentUpdate | null {\n const callId = typeof item.call_id === 'string' ? item.call_id : ((item.id as string) ?? '');\n const name = typeof item.name === 'string' ? item.name : 'Tool';\n return {kind: 'tool_add', id: callId, toolName: name};\n}\n\nfunction addUpdateForMcpRequest(\n item: OpenAIStreamOutputItemLike,\n id: string,\n status: 'waitingConfirmation' | 'waitingSubmission',\n): StreamEventContentUpdate | null {\n const name = typeof item.name === 'string' ? item.name : undefined;\n const serverLabel = typeof item.server_label === 'string' ? item.server_label : undefined;\n const args = typeof item.arguments === 'string' ? item.arguments : undefined;\n return {\n kind: 'tool_add',\n id,\n toolName: name ?? serverLabel ?? 'MCP',\n serverLabel,\n status,\n headerContent: args,\n };\n}\n\nfunction addUpdateForSimpleTool(id: string, toolName: string): StreamEventContentUpdate | null {\n return id ? {kind: 'tool_add', id, toolName} : null;\n}\n\nconst OUTPUT_ITEM_TYPE_TO_TOOL_NAME: Record<string, string> = {\n file_search_call: 'File Search',\n web_search_call: 'Web Search',\n code_interpreter_call: 'Code Interpreter',\n image_generation_call: 'Image Generation',\n mcp_list_tools: 'MCP List Tools',\n};\n\nfunction getUpdateFromOutputItemAdded(\n e: EventRecord,\n data: EventRecord | undefined,\n itemId: string | undefined,\n): StreamEventContentUpdate | null {\n const item = (e.item ?? (data?.item as OpenAIStreamOutputItemLike)) as\n | OpenAIStreamOutputItemLike\n | undefined;\n if (!item) return null;\n const id = typeof item.id === 'string' ? item.id : '';\n\n if (item.type === 'reasoning') return addUpdateForReasoning(id, itemId);\n if (item.type === 'mcp_call') return addUpdateForMcpCall(item, id);\n if (item.type === 'function_call') return addUpdateForFunctionCall(item);\n if (item.type === 'mcp_approval_request')\n return addUpdateForMcpRequest(item, id, 'waitingConfirmation');\n if (item.type === 'mcp_submission_request')\n return addUpdateForMcpRequest(item, id, 'waitingSubmission');\n\n const toolName = item.type ? OUTPUT_ITEM_TYPE_TO_TOOL_NAME[item.type] : undefined;\n if (toolName) return addUpdateForSimpleTool(id, toolName);\n\n return null;\n}\n\nfunction getReasoningDoneUpdate(item: OpenAIStreamOutputItemLike): StreamEventContentUpdate | null {\n if (item.type !== 'reasoning' || typeof item.id !== 'string') return null;\n const reasoning = item as {\n id: string;\n content?: Array<{type: string; text?: string}>;\n summary?: Array<{type: string; text?: string}>;\n };\n const texts =\n reasoning.content?.map((c) => c.text).filter((t): t is string => typeof t === 'string') ??\n reasoning.summary?.map((s) => s.text).filter((t): t is string => typeof t === 'string') ??\n [];\n const text = texts.length <= 1 ? (texts[0] ?? '') : texts.join('\\n\\n');\n return {kind: 'thinking_done', item_id: reasoning.id, text};\n}\n\nfunction mcpOutputIndicatesApplicationError(output: string | undefined): boolean {\n if (!output) return false;\n return /\\berror\\s*=\\s*[\"']true[\"']/.test(output);\n}\n\nfunction mcpTerminalToolStatus(\n errStr: string | undefined,\n outputStr: string | undefined,\n): 'success' | 'error' {\n if (errStr || mcpOutputIndicatesApplicationError(outputStr)) {\n return 'error';\n }\n return 'success';\n}\n\nfunction getMcpCallDoneUpdate(item: OpenAIStreamOutputItemLike): StreamEventContentUpdate | null {\n if (item.type !== 'mcp_call' || typeof item.id !== 'string') return null;\n const mcp = item as {\n id: string;\n name?: string;\n server_label?: string;\n status?: string;\n arguments?: string;\n output?: string;\n error?: string;\n };\n const st = mcp.status ?? '';\n const outputStr = typeof mcp.output === 'string' ? mcp.output : undefined;\n const errStr = typeof mcp.error === 'string' ? mcp.error : undefined;\n const argsStr = typeof mcp.arguments === 'string' ? mcp.arguments : undefined;\n\n let status: TToolStatus = 'loading';\n if (st === 'failed' || st === 'incomplete') {\n status = 'error';\n } else if (st === 'completed' || st === 'complete') {\n status = mcpTerminalToolStatus(errStr, outputStr);\n } else if (errStr) {\n status = 'error';\n } else if (outputStr !== undefined) {\n status = mcpTerminalToolStatus(errStr, outputStr);\n }\n let toolName: string | undefined;\n if (typeof mcp.name === 'string') toolName = mcp.name;\n else if (typeof mcp.server_label === 'string') toolName = mcp.server_label;\n else toolName = undefined;\n\n const mcpRequest = prettyPrintJson(argsStr);\n const mcpResponse = prettyPrintJson(errStr ?? outputStr);\n\n return {\n kind: 'tool_update',\n item_id: mcp.id,\n status,\n toolName,\n output: outputStr,\n error: errStr,\n ...(mcpRequest ? {mcpRequest} : {}),\n ...(mcpResponse ? {mcpResponse} : {}),\n };\n}\n\nfunction getFunctionCallDoneUpdate(\n item: OpenAIStreamOutputItemLike,\n): StreamEventContentUpdate | null {\n if (item.type !== 'function_call') return null;\n const fn = item as {\n call_id: string;\n name?: string;\n output?: string;\n result?: string;\n status?: string;\n error?: string;\n };\n const fnCallId = fn.call_id ? fn.call_id : '';\n\n if (!fnCallId) return null;\n\n let fnStatus: TToolStatus = 'loading';\n if (fn.status === 'completed') {\n fnStatus = 'success';\n } else if (fn.status === 'failed') {\n fnStatus = 'error';\n }\n\n let output: string | undefined;\n if (typeof fn.output === 'string') {\n output = fn.output;\n } else if (typeof fn.result === 'string') {\n output = fn.result;\n } else {\n output = undefined;\n }\n\n return {\n kind: 'tool_update',\n item_id: fnCallId,\n status: fnStatus,\n toolName: typeof fn.name === 'string' ? fn.name : undefined,\n output,\n error: typeof fn.error === 'string' ? fn.error : undefined,\n };\n}\n\nfunction getToolCallDoneUpdate(\n item: OpenAIStreamOutputItemLike,\n toolName: string,\n): StreamEventContentUpdate | null {\n if (typeof item.id !== 'string') return null;\n const t = item as {\n id: string;\n status?: string;\n error?: string;\n output?: string;\n results?: unknown;\n };\n let status: TToolStatus = 'loading';\n if (t.status === 'completed') status = 'success';\n else if (t.status === 'failed' || t.status === 'incomplete') status = 'error';\n\n let output: string | undefined;\n if (typeof t.output === 'string') {\n output = t.output;\n } else if (typeof t.results === 'string') {\n output = t.results;\n } else if (Array.isArray(t.results)) {\n output = JSON.stringify(t.results);\n } else {\n output = undefined;\n }\n return {\n kind: 'tool_update',\n item_id: t.id,\n status,\n toolName,\n output,\n error: typeof t.error === 'string' ? t.error : undefined,\n };\n}\n\nfunction getUpdateFromOutputItemDone(\n e: EventRecord,\n data: EventRecord | undefined,\n): StreamEventContentUpdate | null {\n const item = (e.item ?? (data?.item as OpenAIStreamOutputItemLike)) as\n | OpenAIStreamOutputItemLike\n | undefined;\n if (!item) return null;\n return (\n getReasoningDoneUpdate(item) ??\n getMcpCallDoneUpdate(item) ??\n getFunctionCallDoneUpdate(item) ??\n (item.type === 'file_search_call' ? getToolCallDoneUpdate(item, 'File Search') : null) ??\n (item.type === 'web_search_call' ? getToolCallDoneUpdate(item, 'Web Search') : null) ??\n (item.type === 'code_interpreter_call'\n ? getToolCallDoneUpdate(item, 'Code Interpreter')\n : null) ??\n (item.type === 'image_generation_call'\n ? getToolCallDoneUpdate(item, 'Image Generation')\n : null) ??\n (item.type === 'mcp_list_tools' ? getToolCallDoneUpdate(item, 'MCP List Tools') : null)\n );\n}\n\n/** Stream event → content update (text delta, tool add/update, thinking add/delta/done) or null. */\n\nexport function getStreamEventContentUpdate(\n event: OpenAIStreamEventLike | null | undefined,\n): StreamEventContentUpdate | null {\n if (!event) return null;\n const e = event as EventRecord;\n const type = e.type ?? (e.data as {type?: string})?.type ?? e.event;\n const data = e.data as EventRecord | undefined;\n const itemId =\n typeof e.item_id === 'string' ? e.item_id : (data?.item_id as string | undefined);\n\n if (itemId) {\n const reasoningUpdate = getReasoningUpdate(e, data, type, itemId);\n if (reasoningUpdate) return reasoningUpdate;\n }\n\n const delta = getTextDeltaFromStreamEvent(event);\n if (delta) return {kind: 'text_delta', delta};\n\n if (type === 'response.output_item.added') {\n return getUpdateFromOutputItemAdded(e, data, itemId);\n }\n if (type === 'response.mcp_call.completed' && itemId) {\n return {kind: 'tool_update', item_id: itemId, status: 'success'};\n }\n if (type === 'response.mcp_call.failed' && itemId) {\n const err = typeof e.error === 'string' ? e.error : undefined;\n return {kind: 'tool_update', item_id: itemId, status: 'error', error: err};\n }\n\n const progressMatch = TOOL_PROGRESS_EVENTS.find(([t]) => t === type);\n if (progressMatch && itemId) {\n return {kind: 'tool_update', item_id: itemId, status: progressMatch[1]};\n }\n if (type === 'response.mcp_list_tools.failed' && itemId) {\n const err = typeof e.error === 'string' ? e.error : undefined;\n return {kind: 'tool_update', item_id: itemId, status: 'error', error: err};\n }\n\n if (type === 'response.output_item.done') {\n return getUpdateFromOutputItemDone(e, data);\n }\n return null;\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTextDeltaFromStreamEvent = getTextDeltaFromStreamEvent;
4
4
  const eventTypeUtils_1 = require("./eventTypeUtils.js");
5
- const isOutputTextOrContentPartDone_1 = require("./isOutputTextOrContentPartDone.js");
5
+ const isTerminalTextLikeDoneEvent_1 = require("./isTerminalTextLikeDoneEvent.js");
6
6
  /** Text delta from event; *.done ignored to avoid duplicate accumulation. */
7
7
  function getTextDeltaFromStreamEvent(event) {
8
8
  var _a;
@@ -11,7 +11,7 @@ function getTextDeltaFromStreamEvent(event) {
11
11
  }
12
12
  const e = event;
13
13
  const data = e.data;
14
- if ((0, isOutputTextOrContentPartDone_1.isOutputTextOrContentPartDone)(e, data)) {
14
+ if ((0, isTerminalTextLikeDoneEvent_1.isTerminalTextLikeDoneEvent)(e, data)) {
15
15
  return null;
16
16
  }
17
17
  const outputTextDelta = (0, eventTypeUtils_1.getDeltaForEventTypes)(e, data, ['response.output_text.delta']);
@@ -1 +1 @@
1
- {"version":3,"file":"getTextDeltaFromStreamEvent.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/getTextDeltaFromStreamEvent.ts"],"names":[],"mappings":";;AAOA,kEAoCC;AAzCD,wDAAuD;AACvD,sFAA8E;AAE9E,6EAA6E;AAE7E,SAAgB,2BAA2B,CACvC,KAA+C;;IAE/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,IAA2C,CAAC;IAE3D,IAAI,IAAA,6DAA6B,EAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,sCAAqB,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvF,IAAI,eAAe,KAAK,IAAI;QAAE,OAAO,eAAe,CAAC;IAErD,MAAM,gBAAgB,GAAG,IAAA,sCAAqB,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACzF,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAA,sCAAqB,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAChF,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAE/C,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,KAAI,MAAC,CAAC,CAAC,IAAuC,0CAAE,OAAO,CAAA,EAAE,CAAC;QAC/E,OAAQ,CAAC,CAAC,IAA0B,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["import {OpenAIStreamEventLike} from '../types';\n\nimport {getDeltaForEventTypes} from './eventTypeUtils';\nimport {isOutputTextOrContentPartDone} from './isOutputTextOrContentPartDone';\n\n/** Text delta from event; *.done ignored to avoid duplicate accumulation. */\n\nexport function getTextDeltaFromStreamEvent(\n event: OpenAIStreamEventLike | null | undefined,\n): string | null {\n if (!event) {\n return null;\n }\n\n const e = event as Record<string, unknown>;\n const data = e.data as Record<string, unknown> | undefined;\n\n if (isOutputTextOrContentPartDone(e, data)) {\n return null;\n }\n\n const outputTextDelta = getDeltaForEventTypes(e, data, ['response.output_text.delta']);\n if (outputTextDelta !== null) return outputTextDelta;\n\n const contentPartDelta = getDeltaForEventTypes(e, data, ['response.content_part.delta']);\n if (contentPartDelta !== null) return contentPartDelta;\n\n const refusalDelta = getDeltaForEventTypes(e, data, ['response.refusal.delta']);\n if (refusalDelta !== null) return refusalDelta;\n\n if (typeof data?.text === 'string') {\n return data.text;\n }\n if (typeof e.text === 'string') {\n return e.text;\n }\n\n // Legacy: event.event === 'content' && event.data.content\n if (e.event === 'content' && (e.data as {content?: string} | undefined)?.content) {\n return (e.data as {content: string}).content;\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"getTextDeltaFromStreamEvent.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/getTextDeltaFromStreamEvent.ts"],"names":[],"mappings":";;AAOA,kEAoCC;AAzCD,wDAAuD;AACvD,kFAA0E;AAE1E,6EAA6E;AAE7E,SAAgB,2BAA2B,CACvC,KAA+C;;IAE/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,IAA2C,CAAC;IAE3D,IAAI,IAAA,yDAA2B,EAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,sCAAqB,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvF,IAAI,eAAe,KAAK,IAAI;QAAE,OAAO,eAAe,CAAC;IAErD,MAAM,gBAAgB,GAAG,IAAA,sCAAqB,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACzF,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAA,sCAAqB,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAChF,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAE/C,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,KAAI,MAAC,CAAC,CAAC,IAAuC,0CAAE,OAAO,CAAA,EAAE,CAAC;QAC/E,OAAQ,CAAC,CAAC,IAA0B,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["import {OpenAIStreamEventLike} from '../types';\n\nimport {getDeltaForEventTypes} from './eventTypeUtils';\nimport {isTerminalTextLikeDoneEvent} from './isTerminalTextLikeDoneEvent';\n\n/** Text delta from event; *.done ignored to avoid duplicate accumulation. */\n\nexport function getTextDeltaFromStreamEvent(\n event: OpenAIStreamEventLike | null | undefined,\n): string | null {\n if (!event) {\n return null;\n }\n\n const e = event as Record<string, unknown>;\n const data = e.data as Record<string, unknown> | undefined;\n\n if (isTerminalTextLikeDoneEvent(e, data)) {\n return null;\n }\n\n const outputTextDelta = getDeltaForEventTypes(e, data, ['response.output_text.delta']);\n if (outputTextDelta !== null) return outputTextDelta;\n\n const contentPartDelta = getDeltaForEventTypes(e, data, ['response.content_part.delta']);\n if (contentPartDelta !== null) return contentPartDelta;\n\n const refusalDelta = getDeltaForEventTypes(e, data, ['response.refusal.delta']);\n if (refusalDelta !== null) return refusalDelta;\n\n if (typeof data?.text === 'string') {\n return data.text;\n }\n if (typeof e.text === 'string') {\n return e.text;\n }\n\n // Legacy: event.event === 'content' && event.data.content\n if (e.event === 'content' && (e.data as {content?: string} | undefined)?.content) {\n return (e.data as {content: string}).content;\n }\n\n return null;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ /** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */
2
+ export declare function isTerminalTextLikeDoneEvent(e: Record<string, unknown>, data: Record<string, unknown> | undefined): boolean;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTerminalTextLikeDoneEvent = isTerminalTextLikeDoneEvent;
4
+ const eventTypeUtils_1 = require("./eventTypeUtils.js");
5
+ const TERMINAL_TEXT_LIKE_DONE_EVENT_TYPES = [
6
+ 'response.output_text.done',
7
+ 'response.content_part.done',
8
+ 'response.refusal.done',
9
+ 'response.reasoning_text.done',
10
+ 'response.reasoning_summary_text.done',
11
+ ];
12
+ /** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */
13
+ function isTerminalTextLikeDoneEvent(e, data) {
14
+ return (0, eventTypeUtils_1.isEventOneOf)(e, data, TERMINAL_TEXT_LIKE_DONE_EVENT_TYPES);
15
+ }
16
+ //# sourceMappingURL=isTerminalTextLikeDoneEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTerminalTextLikeDoneEvent.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/isTerminalTextLikeDoneEvent.ts"],"names":[],"mappings":";;AAYA,kEAKC;AAjBD,wDAA8C;AAE9C,MAAM,mCAAmC,GAAG;IACxC,2BAA2B;IAC3B,4BAA4B;IAC5B,uBAAuB;IACvB,8BAA8B;IAC9B,sCAAsC;CACzC,CAAC;AAEF,wFAAwF;AAExF,SAAgB,2BAA2B,CACvC,CAA0B,EAC1B,IAAyC;IAEzC,OAAO,IAAA,6BAAY,EAAC,CAAC,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import {isEventOneOf} from './eventTypeUtils';\n\nconst TERMINAL_TEXT_LIKE_DONE_EVENT_TYPES = [\n 'response.output_text.done',\n 'response.content_part.done',\n 'response.refusal.done',\n 'response.reasoning_text.done',\n 'response.reasoning_summary_text.done',\n];\n\n/** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */\n\nexport function isTerminalTextLikeDoneEvent(\n e: Record<string, unknown>,\n data: Record<string, unknown> | undefined,\n): boolean {\n return isEventOneOf(e, data, TERMINAL_TEXT_LIKE_DONE_EVENT_TYPES);\n}\n"]}
@@ -1 +1 @@
1
- {"version":"2.6.0","type":"commonjs","sideEffects":["*.css","*.scss"]}
1
+ {"version":"2.6.1","type":"commonjs","sideEffects":["*.css","*.scss"]}
@@ -231,14 +231,14 @@ export function getStreamEventContentUpdate(event) {
231
231
  const type = (_c = (_a = e.type) !== null && _a !== void 0 ? _a : (_b = e.data) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : e.event;
232
232
  const data = e.data;
233
233
  const itemId = typeof e.item_id === 'string' ? e.item_id : data === null || data === void 0 ? void 0 : data.item_id;
234
- const delta = getTextDeltaFromStreamEvent(event);
235
- if (delta)
236
- return { kind: 'text_delta', delta };
237
234
  if (itemId) {
238
235
  const reasoningUpdate = getReasoningUpdate(e, data, type, itemId);
239
236
  if (reasoningUpdate)
240
237
  return reasoningUpdate;
241
238
  }
239
+ const delta = getTextDeltaFromStreamEvent(event);
240
+ if (delta)
241
+ return { kind: 'text_delta', delta };
242
242
  if (type === 'response.output_item.added') {
243
243
  return getUpdateFromOutputItemAdded(e, data, itemId);
244
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getStreamEventContentUpdate.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/getStreamEventContentUpdate.ts"],"names":[],"mappings":"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","sourcesContent":["import type {TToolStatus} from '../../../types';\nimport {OpenAIStreamEventLike, OpenAIStreamOutputItemLike} from '../types/openAiTypes';\n\nimport {getTextDeltaFromStreamEvent} from './getTextDeltaFromStreamEvent';\nimport {prettyPrintJson} from './prettyPrintJson';\n\ntype EventRecord = Record<string, unknown>;\n\nexport type StreamEventTextDelta = {kind: 'text_delta'; delta: string};\nexport type StreamEventToolAdd = {\n kind: 'tool_add';\n id: string;\n toolName: string;\n serverLabel?: string;\n /** Initial status; use 'waitingConfirmation' for mcp_approval_request, 'waitingSubmission' if API defines such. Default 'loading'. */\n status?: TToolStatus;\n /** Optional payload to show in tool card (e.g. approval request arguments). */\n headerContent?: string;\n /** MCP request arguments, pretty-printed JSON. Surfaced for AIStudioChat's tool renderer. */\n mcpRequest?: string;\n};\nexport type StreamEventToolUpdate = {\n kind: 'tool_update';\n item_id: string;\n status: TToolStatus;\n toolName?: string;\n output?: string;\n error?: string;\n /** MCP request arguments, pretty-printed JSON. */\n mcpRequest?: string;\n /** MCP response or error, pretty-printed JSON. */\n mcpResponse?: string;\n};\nexport type StreamEventThinkingAdd = {kind: 'thinking_add'; item_id: string};\nexport type StreamEventThinkingDelta = {kind: 'thinking_delta'; item_id: string; delta: string};\nexport type StreamEventThinkingDone = {kind: 'thinking_done'; item_id: string; text: string};\nexport type StreamEventContentUpdate =\n | StreamEventTextDelta\n | StreamEventToolAdd\n | StreamEventToolUpdate\n | StreamEventThinkingAdd\n | StreamEventThinkingDelta\n | StreamEventThinkingDone;\n\nconst TOOL_PROGRESS_EVENTS: Array<[string, TToolStatus]> = [\n ['response.file_search_call.completed', 'success'],\n ['response.file_search_call.in_progress', 'loading'],\n ['response.file_search_call.searching', 'loading'],\n ['response.web_search_call.completed', 'success'],\n ['response.web_search_call.in_progress', 'loading'],\n ['response.web_search_call.searching', 'loading'],\n ['response.code_interpreter_call.completed', 'success'],\n ['response.code_interpreter_call.in_progress', 'loading'],\n ['response.code_interpreter_call.interpreting', 'loading'],\n ['response.image_generation_call.completed', 'success'],\n ['response.image_generation_call.in_progress', 'loading'],\n ['response.image_generation_call.generating', 'loading'],\n ['response.mcp_list_tools.completed', 'success'],\n ['response.mcp_list_tools.in_progress', 'loading'],\n];\n\nfunction getReasoningUpdate(\n e: EventRecord,\n data: EventRecord | undefined,\n type: unknown,\n itemId: string,\n): StreamEventContentUpdate | null {\n if (\n type === 'response.reasoning_text.delta' ||\n type === 'response.reasoning_summary_text.delta'\n ) {\n const d = (e.delta ?? data?.delta) as string | undefined;\n return typeof d === 'string' ? {kind: 'thinking_delta', item_id: itemId, delta: d} : null;\n }\n if (\n type === 'response.reasoning_text.done' ||\n type === 'response.reasoning_summary_text.done'\n ) {\n const text = (e.text ?? data?.text) as string | undefined;\n return typeof text === 'string' ? {kind: 'thinking_done', item_id: itemId, text} : null;\n }\n return null;\n}\n\nfunction addUpdateForReasoning(\n id: string,\n itemId: string | undefined,\n): StreamEventContentUpdate | null {\n const effectiveId = id || (itemId ?? '');\n return effectiveId ? {kind: 'thinking_add', item_id: effectiveId} : null;\n}\n\nfunction addUpdateForMcpCall(\n item: OpenAIStreamOutputItemLike,\n id: string,\n): StreamEventContentUpdate | null {\n const name = typeof item.name === 'string' ? item.name : undefined;\n const serverLabel = typeof item.server_label === 'string' ? item.server_label : undefined;\n const args = typeof item.arguments === 'string' ? item.arguments : undefined;\n const mcpRequest = prettyPrintJson(args);\n return {\n kind: 'tool_add',\n id,\n toolName: name ?? serverLabel ?? 'MCP',\n serverLabel,\n ...(mcpRequest ? {mcpRequest} : {}),\n };\n}\n\nfunction addUpdateForFunctionCall(\n item: OpenAIStreamOutputItemLike,\n): StreamEventContentUpdate | null {\n const callId = typeof item.call_id === 'string' ? item.call_id : ((item.id as string) ?? '');\n const name = typeof item.name === 'string' ? item.name : 'Tool';\n return {kind: 'tool_add', id: callId, toolName: name};\n}\n\nfunction addUpdateForMcpRequest(\n item: OpenAIStreamOutputItemLike,\n id: string,\n status: 'waitingConfirmation' | 'waitingSubmission',\n): StreamEventContentUpdate | null {\n const name = typeof item.name === 'string' ? item.name : undefined;\n const serverLabel = typeof item.server_label === 'string' ? item.server_label : undefined;\n const args = typeof item.arguments === 'string' ? item.arguments : undefined;\n return {\n kind: 'tool_add',\n id,\n toolName: name ?? serverLabel ?? 'MCP',\n serverLabel,\n status,\n headerContent: args,\n };\n}\n\nfunction addUpdateForSimpleTool(id: string, toolName: string): StreamEventContentUpdate | null {\n return id ? {kind: 'tool_add', id, toolName} : null;\n}\n\nconst OUTPUT_ITEM_TYPE_TO_TOOL_NAME: Record<string, string> = {\n file_search_call: 'File Search',\n web_search_call: 'Web Search',\n code_interpreter_call: 'Code Interpreter',\n image_generation_call: 'Image Generation',\n mcp_list_tools: 'MCP List Tools',\n};\n\nfunction getUpdateFromOutputItemAdded(\n e: EventRecord,\n data: EventRecord | undefined,\n itemId: string | undefined,\n): StreamEventContentUpdate | null {\n const item = (e.item ?? (data?.item as OpenAIStreamOutputItemLike)) as\n | OpenAIStreamOutputItemLike\n | undefined;\n if (!item) return null;\n const id = typeof item.id === 'string' ? item.id : '';\n\n if (item.type === 'reasoning') return addUpdateForReasoning(id, itemId);\n if (item.type === 'mcp_call') return addUpdateForMcpCall(item, id);\n if (item.type === 'function_call') return addUpdateForFunctionCall(item);\n if (item.type === 'mcp_approval_request')\n return addUpdateForMcpRequest(item, id, 'waitingConfirmation');\n if (item.type === 'mcp_submission_request')\n return addUpdateForMcpRequest(item, id, 'waitingSubmission');\n\n const toolName = item.type ? OUTPUT_ITEM_TYPE_TO_TOOL_NAME[item.type] : undefined;\n if (toolName) return addUpdateForSimpleTool(id, toolName);\n\n return null;\n}\n\nfunction getReasoningDoneUpdate(item: OpenAIStreamOutputItemLike): StreamEventContentUpdate | null {\n if (item.type !== 'reasoning' || typeof item.id !== 'string') return null;\n const reasoning = item as {\n id: string;\n content?: Array<{type: string; text?: string}>;\n summary?: Array<{type: string; text?: string}>;\n };\n const texts =\n reasoning.content?.map((c) => c.text).filter((t): t is string => typeof t === 'string') ??\n reasoning.summary?.map((s) => s.text).filter((t): t is string => typeof t === 'string') ??\n [];\n const text = texts.length <= 1 ? (texts[0] ?? '') : texts.join('\\n\\n');\n return {kind: 'thinking_done', item_id: reasoning.id, text};\n}\n\nfunction mcpOutputIndicatesApplicationError(output: string | undefined): boolean {\n if (!output) return false;\n return /\\berror\\s*=\\s*[\"']true[\"']/.test(output);\n}\n\nfunction mcpTerminalToolStatus(\n errStr: string | undefined,\n outputStr: string | undefined,\n): 'success' | 'error' {\n if (errStr || mcpOutputIndicatesApplicationError(outputStr)) {\n return 'error';\n }\n return 'success';\n}\n\nfunction getMcpCallDoneUpdate(item: OpenAIStreamOutputItemLike): StreamEventContentUpdate | null {\n if (item.type !== 'mcp_call' || typeof item.id !== 'string') return null;\n const mcp = item as {\n id: string;\n name?: string;\n server_label?: string;\n status?: string;\n arguments?: string;\n output?: string;\n error?: string;\n };\n const st = mcp.status ?? '';\n const outputStr = typeof mcp.output === 'string' ? mcp.output : undefined;\n const errStr = typeof mcp.error === 'string' ? mcp.error : undefined;\n const argsStr = typeof mcp.arguments === 'string' ? mcp.arguments : undefined;\n\n let status: TToolStatus = 'loading';\n if (st === 'failed' || st === 'incomplete') {\n status = 'error';\n } else if (st === 'completed' || st === 'complete') {\n status = mcpTerminalToolStatus(errStr, outputStr);\n } else if (errStr) {\n status = 'error';\n } else if (outputStr !== undefined) {\n status = mcpTerminalToolStatus(errStr, outputStr);\n }\n let toolName: string | undefined;\n if (typeof mcp.name === 'string') toolName = mcp.name;\n else if (typeof mcp.server_label === 'string') toolName = mcp.server_label;\n else toolName = undefined;\n\n const mcpRequest = prettyPrintJson(argsStr);\n const mcpResponse = prettyPrintJson(errStr ?? outputStr);\n\n return {\n kind: 'tool_update',\n item_id: mcp.id,\n status,\n toolName,\n output: outputStr,\n error: errStr,\n ...(mcpRequest ? {mcpRequest} : {}),\n ...(mcpResponse ? {mcpResponse} : {}),\n };\n}\n\nfunction getFunctionCallDoneUpdate(\n item: OpenAIStreamOutputItemLike,\n): StreamEventContentUpdate | null {\n if (item.type !== 'function_call') return null;\n const fn = item as {\n call_id: string;\n name?: string;\n output?: string;\n result?: string;\n status?: string;\n error?: string;\n };\n const fnCallId = fn.call_id ? fn.call_id : '';\n\n if (!fnCallId) return null;\n\n let fnStatus: TToolStatus = 'loading';\n if (fn.status === 'completed') {\n fnStatus = 'success';\n } else if (fn.status === 'failed') {\n fnStatus = 'error';\n }\n\n let output: string | undefined;\n if (typeof fn.output === 'string') {\n output = fn.output;\n } else if (typeof fn.result === 'string') {\n output = fn.result;\n } else {\n output = undefined;\n }\n\n return {\n kind: 'tool_update',\n item_id: fnCallId,\n status: fnStatus,\n toolName: typeof fn.name === 'string' ? fn.name : undefined,\n output,\n error: typeof fn.error === 'string' ? fn.error : undefined,\n };\n}\n\nfunction getToolCallDoneUpdate(\n item: OpenAIStreamOutputItemLike,\n toolName: string,\n): StreamEventContentUpdate | null {\n if (typeof item.id !== 'string') return null;\n const t = item as {\n id: string;\n status?: string;\n error?: string;\n output?: string;\n results?: unknown;\n };\n let status: TToolStatus = 'loading';\n if (t.status === 'completed') status = 'success';\n else if (t.status === 'failed' || t.status === 'incomplete') status = 'error';\n\n let output: string | undefined;\n if (typeof t.output === 'string') {\n output = t.output;\n } else if (typeof t.results === 'string') {\n output = t.results;\n } else if (Array.isArray(t.results)) {\n output = JSON.stringify(t.results);\n } else {\n output = undefined;\n }\n return {\n kind: 'tool_update',\n item_id: t.id,\n status,\n toolName,\n output,\n error: typeof t.error === 'string' ? t.error : undefined,\n };\n}\n\nfunction getUpdateFromOutputItemDone(\n e: EventRecord,\n data: EventRecord | undefined,\n): StreamEventContentUpdate | null {\n const item = (e.item ?? (data?.item as OpenAIStreamOutputItemLike)) as\n | OpenAIStreamOutputItemLike\n | undefined;\n if (!item) return null;\n return (\n getReasoningDoneUpdate(item) ??\n getMcpCallDoneUpdate(item) ??\n getFunctionCallDoneUpdate(item) ??\n (item.type === 'file_search_call' ? getToolCallDoneUpdate(item, 'File Search') : null) ??\n (item.type === 'web_search_call' ? getToolCallDoneUpdate(item, 'Web Search') : null) ??\n (item.type === 'code_interpreter_call'\n ? getToolCallDoneUpdate(item, 'Code Interpreter')\n : null) ??\n (item.type === 'image_generation_call'\n ? getToolCallDoneUpdate(item, 'Image Generation')\n : null) ??\n (item.type === 'mcp_list_tools' ? getToolCallDoneUpdate(item, 'MCP List Tools') : null)\n );\n}\n\n/** Stream event → content update (text delta, tool add/update, thinking add/delta/done) or null. */\n\nexport function getStreamEventContentUpdate(\n event: OpenAIStreamEventLike | null | undefined,\n): StreamEventContentUpdate | null {\n if (!event) return null;\n const e = event as EventRecord;\n const type = e.type ?? (e.data as {type?: string})?.type ?? e.event;\n const data = e.data as EventRecord | undefined;\n const itemId =\n typeof e.item_id === 'string' ? e.item_id : (data?.item_id as string | undefined);\n\n const delta = getTextDeltaFromStreamEvent(event);\n if (delta) return {kind: 'text_delta', delta};\n\n if (itemId) {\n const reasoningUpdate = getReasoningUpdate(e, data, type, itemId);\n if (reasoningUpdate) return reasoningUpdate;\n }\n\n if (type === 'response.output_item.added') {\n return getUpdateFromOutputItemAdded(e, data, itemId);\n }\n if (type === 'response.mcp_call.completed' && itemId) {\n return {kind: 'tool_update', item_id: itemId, status: 'success'};\n }\n if (type === 'response.mcp_call.failed' && itemId) {\n const err = typeof e.error === 'string' ? e.error : undefined;\n return {kind: 'tool_update', item_id: itemId, status: 'error', error: err};\n }\n\n const progressMatch = TOOL_PROGRESS_EVENTS.find(([t]) => t === type);\n if (progressMatch && itemId) {\n return {kind: 'tool_update', item_id: itemId, status: progressMatch[1]};\n }\n if (type === 'response.mcp_list_tools.failed' && itemId) {\n const err = typeof e.error === 'string' ? e.error : undefined;\n return {kind: 'tool_update', item_id: itemId, status: 'error', error: err};\n }\n\n if (type === 'response.output_item.done') {\n return getUpdateFromOutputItemDone(e, data);\n }\n return null;\n}\n"]}
1
+ {"version":3,"file":"getStreamEventContentUpdate.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/getStreamEventContentUpdate.ts"],"names":[],"mappings":"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","sourcesContent":["import type {TToolStatus} from '../../../types';\nimport {OpenAIStreamEventLike, OpenAIStreamOutputItemLike} from '../types/openAiTypes';\n\nimport {getTextDeltaFromStreamEvent} from './getTextDeltaFromStreamEvent';\nimport {prettyPrintJson} from './prettyPrintJson';\n\ntype EventRecord = Record<string, unknown>;\n\nexport type StreamEventTextDelta = {kind: 'text_delta'; delta: string};\nexport type StreamEventToolAdd = {\n kind: 'tool_add';\n id: string;\n toolName: string;\n serverLabel?: string;\n /** Initial status; use 'waitingConfirmation' for mcp_approval_request, 'waitingSubmission' if API defines such. Default 'loading'. */\n status?: TToolStatus;\n /** Optional payload to show in tool card (e.g. approval request arguments). */\n headerContent?: string;\n /** MCP request arguments, pretty-printed JSON. Surfaced for AIStudioChat's tool renderer. */\n mcpRequest?: string;\n};\nexport type StreamEventToolUpdate = {\n kind: 'tool_update';\n item_id: string;\n status: TToolStatus;\n toolName?: string;\n output?: string;\n error?: string;\n /** MCP request arguments, pretty-printed JSON. */\n mcpRequest?: string;\n /** MCP response or error, pretty-printed JSON. */\n mcpResponse?: string;\n};\nexport type StreamEventThinkingAdd = {kind: 'thinking_add'; item_id: string};\nexport type StreamEventThinkingDelta = {kind: 'thinking_delta'; item_id: string; delta: string};\nexport type StreamEventThinkingDone = {kind: 'thinking_done'; item_id: string; text: string};\nexport type StreamEventContentUpdate =\n | StreamEventTextDelta\n | StreamEventToolAdd\n | StreamEventToolUpdate\n | StreamEventThinkingAdd\n | StreamEventThinkingDelta\n | StreamEventThinkingDone;\n\nconst TOOL_PROGRESS_EVENTS: Array<[string, TToolStatus]> = [\n ['response.file_search_call.completed', 'success'],\n ['response.file_search_call.in_progress', 'loading'],\n ['response.file_search_call.searching', 'loading'],\n ['response.web_search_call.completed', 'success'],\n ['response.web_search_call.in_progress', 'loading'],\n ['response.web_search_call.searching', 'loading'],\n ['response.code_interpreter_call.completed', 'success'],\n ['response.code_interpreter_call.in_progress', 'loading'],\n ['response.code_interpreter_call.interpreting', 'loading'],\n ['response.image_generation_call.completed', 'success'],\n ['response.image_generation_call.in_progress', 'loading'],\n ['response.image_generation_call.generating', 'loading'],\n ['response.mcp_list_tools.completed', 'success'],\n ['response.mcp_list_tools.in_progress', 'loading'],\n];\n\nfunction getReasoningUpdate(\n e: EventRecord,\n data: EventRecord | undefined,\n type: unknown,\n itemId: string,\n): StreamEventContentUpdate | null {\n if (\n type === 'response.reasoning_text.delta' ||\n type === 'response.reasoning_summary_text.delta'\n ) {\n const d = (e.delta ?? data?.delta) as string | undefined;\n return typeof d === 'string' ? {kind: 'thinking_delta', item_id: itemId, delta: d} : null;\n }\n if (\n type === 'response.reasoning_text.done' ||\n type === 'response.reasoning_summary_text.done'\n ) {\n const text = (e.text ?? data?.text) as string | undefined;\n return typeof text === 'string' ? {kind: 'thinking_done', item_id: itemId, text} : null;\n }\n return null;\n}\n\nfunction addUpdateForReasoning(\n id: string,\n itemId: string | undefined,\n): StreamEventContentUpdate | null {\n const effectiveId = id || (itemId ?? '');\n return effectiveId ? {kind: 'thinking_add', item_id: effectiveId} : null;\n}\n\nfunction addUpdateForMcpCall(\n item: OpenAIStreamOutputItemLike,\n id: string,\n): StreamEventContentUpdate | null {\n const name = typeof item.name === 'string' ? item.name : undefined;\n const serverLabel = typeof item.server_label === 'string' ? item.server_label : undefined;\n const args = typeof item.arguments === 'string' ? item.arguments : undefined;\n const mcpRequest = prettyPrintJson(args);\n return {\n kind: 'tool_add',\n id,\n toolName: name ?? serverLabel ?? 'MCP',\n serverLabel,\n ...(mcpRequest ? {mcpRequest} : {}),\n };\n}\n\nfunction addUpdateForFunctionCall(\n item: OpenAIStreamOutputItemLike,\n): StreamEventContentUpdate | null {\n const callId = typeof item.call_id === 'string' ? item.call_id : ((item.id as string) ?? '');\n const name = typeof item.name === 'string' ? item.name : 'Tool';\n return {kind: 'tool_add', id: callId, toolName: name};\n}\n\nfunction addUpdateForMcpRequest(\n item: OpenAIStreamOutputItemLike,\n id: string,\n status: 'waitingConfirmation' | 'waitingSubmission',\n): StreamEventContentUpdate | null {\n const name = typeof item.name === 'string' ? item.name : undefined;\n const serverLabel = typeof item.server_label === 'string' ? item.server_label : undefined;\n const args = typeof item.arguments === 'string' ? item.arguments : undefined;\n return {\n kind: 'tool_add',\n id,\n toolName: name ?? serverLabel ?? 'MCP',\n serverLabel,\n status,\n headerContent: args,\n };\n}\n\nfunction addUpdateForSimpleTool(id: string, toolName: string): StreamEventContentUpdate | null {\n return id ? {kind: 'tool_add', id, toolName} : null;\n}\n\nconst OUTPUT_ITEM_TYPE_TO_TOOL_NAME: Record<string, string> = {\n file_search_call: 'File Search',\n web_search_call: 'Web Search',\n code_interpreter_call: 'Code Interpreter',\n image_generation_call: 'Image Generation',\n mcp_list_tools: 'MCP List Tools',\n};\n\nfunction getUpdateFromOutputItemAdded(\n e: EventRecord,\n data: EventRecord | undefined,\n itemId: string | undefined,\n): StreamEventContentUpdate | null {\n const item = (e.item ?? (data?.item as OpenAIStreamOutputItemLike)) as\n | OpenAIStreamOutputItemLike\n | undefined;\n if (!item) return null;\n const id = typeof item.id === 'string' ? item.id : '';\n\n if (item.type === 'reasoning') return addUpdateForReasoning(id, itemId);\n if (item.type === 'mcp_call') return addUpdateForMcpCall(item, id);\n if (item.type === 'function_call') return addUpdateForFunctionCall(item);\n if (item.type === 'mcp_approval_request')\n return addUpdateForMcpRequest(item, id, 'waitingConfirmation');\n if (item.type === 'mcp_submission_request')\n return addUpdateForMcpRequest(item, id, 'waitingSubmission');\n\n const toolName = item.type ? OUTPUT_ITEM_TYPE_TO_TOOL_NAME[item.type] : undefined;\n if (toolName) return addUpdateForSimpleTool(id, toolName);\n\n return null;\n}\n\nfunction getReasoningDoneUpdate(item: OpenAIStreamOutputItemLike): StreamEventContentUpdate | null {\n if (item.type !== 'reasoning' || typeof item.id !== 'string') return null;\n const reasoning = item as {\n id: string;\n content?: Array<{type: string; text?: string}>;\n summary?: Array<{type: string; text?: string}>;\n };\n const texts =\n reasoning.content?.map((c) => c.text).filter((t): t is string => typeof t === 'string') ??\n reasoning.summary?.map((s) => s.text).filter((t): t is string => typeof t === 'string') ??\n [];\n const text = texts.length <= 1 ? (texts[0] ?? '') : texts.join('\\n\\n');\n return {kind: 'thinking_done', item_id: reasoning.id, text};\n}\n\nfunction mcpOutputIndicatesApplicationError(output: string | undefined): boolean {\n if (!output) return false;\n return /\\berror\\s*=\\s*[\"']true[\"']/.test(output);\n}\n\nfunction mcpTerminalToolStatus(\n errStr: string | undefined,\n outputStr: string | undefined,\n): 'success' | 'error' {\n if (errStr || mcpOutputIndicatesApplicationError(outputStr)) {\n return 'error';\n }\n return 'success';\n}\n\nfunction getMcpCallDoneUpdate(item: OpenAIStreamOutputItemLike): StreamEventContentUpdate | null {\n if (item.type !== 'mcp_call' || typeof item.id !== 'string') return null;\n const mcp = item as {\n id: string;\n name?: string;\n server_label?: string;\n status?: string;\n arguments?: string;\n output?: string;\n error?: string;\n };\n const st = mcp.status ?? '';\n const outputStr = typeof mcp.output === 'string' ? mcp.output : undefined;\n const errStr = typeof mcp.error === 'string' ? mcp.error : undefined;\n const argsStr = typeof mcp.arguments === 'string' ? mcp.arguments : undefined;\n\n let status: TToolStatus = 'loading';\n if (st === 'failed' || st === 'incomplete') {\n status = 'error';\n } else if (st === 'completed' || st === 'complete') {\n status = mcpTerminalToolStatus(errStr, outputStr);\n } else if (errStr) {\n status = 'error';\n } else if (outputStr !== undefined) {\n status = mcpTerminalToolStatus(errStr, outputStr);\n }\n let toolName: string | undefined;\n if (typeof mcp.name === 'string') toolName = mcp.name;\n else if (typeof mcp.server_label === 'string') toolName = mcp.server_label;\n else toolName = undefined;\n\n const mcpRequest = prettyPrintJson(argsStr);\n const mcpResponse = prettyPrintJson(errStr ?? outputStr);\n\n return {\n kind: 'tool_update',\n item_id: mcp.id,\n status,\n toolName,\n output: outputStr,\n error: errStr,\n ...(mcpRequest ? {mcpRequest} : {}),\n ...(mcpResponse ? {mcpResponse} : {}),\n };\n}\n\nfunction getFunctionCallDoneUpdate(\n item: OpenAIStreamOutputItemLike,\n): StreamEventContentUpdate | null {\n if (item.type !== 'function_call') return null;\n const fn = item as {\n call_id: string;\n name?: string;\n output?: string;\n result?: string;\n status?: string;\n error?: string;\n };\n const fnCallId = fn.call_id ? fn.call_id : '';\n\n if (!fnCallId) return null;\n\n let fnStatus: TToolStatus = 'loading';\n if (fn.status === 'completed') {\n fnStatus = 'success';\n } else if (fn.status === 'failed') {\n fnStatus = 'error';\n }\n\n let output: string | undefined;\n if (typeof fn.output === 'string') {\n output = fn.output;\n } else if (typeof fn.result === 'string') {\n output = fn.result;\n } else {\n output = undefined;\n }\n\n return {\n kind: 'tool_update',\n item_id: fnCallId,\n status: fnStatus,\n toolName: typeof fn.name === 'string' ? fn.name : undefined,\n output,\n error: typeof fn.error === 'string' ? fn.error : undefined,\n };\n}\n\nfunction getToolCallDoneUpdate(\n item: OpenAIStreamOutputItemLike,\n toolName: string,\n): StreamEventContentUpdate | null {\n if (typeof item.id !== 'string') return null;\n const t = item as {\n id: string;\n status?: string;\n error?: string;\n output?: string;\n results?: unknown;\n };\n let status: TToolStatus = 'loading';\n if (t.status === 'completed') status = 'success';\n else if (t.status === 'failed' || t.status === 'incomplete') status = 'error';\n\n let output: string | undefined;\n if (typeof t.output === 'string') {\n output = t.output;\n } else if (typeof t.results === 'string') {\n output = t.results;\n } else if (Array.isArray(t.results)) {\n output = JSON.stringify(t.results);\n } else {\n output = undefined;\n }\n return {\n kind: 'tool_update',\n item_id: t.id,\n status,\n toolName,\n output,\n error: typeof t.error === 'string' ? t.error : undefined,\n };\n}\n\nfunction getUpdateFromOutputItemDone(\n e: EventRecord,\n data: EventRecord | undefined,\n): StreamEventContentUpdate | null {\n const item = (e.item ?? (data?.item as OpenAIStreamOutputItemLike)) as\n | OpenAIStreamOutputItemLike\n | undefined;\n if (!item) return null;\n return (\n getReasoningDoneUpdate(item) ??\n getMcpCallDoneUpdate(item) ??\n getFunctionCallDoneUpdate(item) ??\n (item.type === 'file_search_call' ? getToolCallDoneUpdate(item, 'File Search') : null) ??\n (item.type === 'web_search_call' ? getToolCallDoneUpdate(item, 'Web Search') : null) ??\n (item.type === 'code_interpreter_call'\n ? getToolCallDoneUpdate(item, 'Code Interpreter')\n : null) ??\n (item.type === 'image_generation_call'\n ? getToolCallDoneUpdate(item, 'Image Generation')\n : null) ??\n (item.type === 'mcp_list_tools' ? getToolCallDoneUpdate(item, 'MCP List Tools') : null)\n );\n}\n\n/** Stream event → content update (text delta, tool add/update, thinking add/delta/done) or null. */\n\nexport function getStreamEventContentUpdate(\n event: OpenAIStreamEventLike | null | undefined,\n): StreamEventContentUpdate | null {\n if (!event) return null;\n const e = event as EventRecord;\n const type = e.type ?? (e.data as {type?: string})?.type ?? e.event;\n const data = e.data as EventRecord | undefined;\n const itemId =\n typeof e.item_id === 'string' ? e.item_id : (data?.item_id as string | undefined);\n\n if (itemId) {\n const reasoningUpdate = getReasoningUpdate(e, data, type, itemId);\n if (reasoningUpdate) return reasoningUpdate;\n }\n\n const delta = getTextDeltaFromStreamEvent(event);\n if (delta) return {kind: 'text_delta', delta};\n\n if (type === 'response.output_item.added') {\n return getUpdateFromOutputItemAdded(e, data, itemId);\n }\n if (type === 'response.mcp_call.completed' && itemId) {\n return {kind: 'tool_update', item_id: itemId, status: 'success'};\n }\n if (type === 'response.mcp_call.failed' && itemId) {\n const err = typeof e.error === 'string' ? e.error : undefined;\n return {kind: 'tool_update', item_id: itemId, status: 'error', error: err};\n }\n\n const progressMatch = TOOL_PROGRESS_EVENTS.find(([t]) => t === type);\n if (progressMatch && itemId) {\n return {kind: 'tool_update', item_id: itemId, status: progressMatch[1]};\n }\n if (type === 'response.mcp_list_tools.failed' && itemId) {\n const err = typeof e.error === 'string' ? e.error : undefined;\n return {kind: 'tool_update', item_id: itemId, status: 'error', error: err};\n }\n\n if (type === 'response.output_item.done') {\n return getUpdateFromOutputItemDone(e, data);\n }\n return null;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { getDeltaForEventTypes } from "./eventTypeUtils.js";
2
- import { isOutputTextOrContentPartDone } from "./isOutputTextOrContentPartDone.js";
2
+ import { isTerminalTextLikeDoneEvent } from "./isTerminalTextLikeDoneEvent.js";
3
3
  /** Text delta from event; *.done ignored to avoid duplicate accumulation. */
4
4
  export function getTextDeltaFromStreamEvent(event) {
5
5
  var _a;
@@ -8,7 +8,7 @@ export function getTextDeltaFromStreamEvent(event) {
8
8
  }
9
9
  const e = event;
10
10
  const data = e.data;
11
- if (isOutputTextOrContentPartDone(e, data)) {
11
+ if (isTerminalTextLikeDoneEvent(e, data)) {
12
12
  return null;
13
13
  }
14
14
  const outputTextDelta = getDeltaForEventTypes(e, data, ['response.output_text.delta']);
@@ -1 +1 @@
1
- {"version":3,"file":"getTextDeltaFromStreamEvent.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/getTextDeltaFromStreamEvent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,qBAAqB,EAAC,4BAAyB;AACvD,OAAO,EAAC,6BAA6B,EAAC,2CAAwC;AAE9E,6EAA6E;AAE7E,MAAM,UAAU,2BAA2B,CACvC,KAA+C;;IAE/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,IAA2C,CAAC;IAE3D,IAAI,6BAA6B,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,eAAe,GAAG,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvF,IAAI,eAAe,KAAK,IAAI;QAAE,OAAO,eAAe,CAAC;IAErD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACzF,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC;IAEvD,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAChF,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAE/C,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,KAAI,MAAC,CAAC,CAAC,IAAuC,0CAAE,OAAO,CAAA,EAAE,CAAC;QAC/E,OAAQ,CAAC,CAAC,IAA0B,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["import {OpenAIStreamEventLike} from '../types';\n\nimport {getDeltaForEventTypes} from './eventTypeUtils';\nimport {isOutputTextOrContentPartDone} from './isOutputTextOrContentPartDone';\n\n/** Text delta from event; *.done ignored to avoid duplicate accumulation. */\n\nexport function getTextDeltaFromStreamEvent(\n event: OpenAIStreamEventLike | null | undefined,\n): string | null {\n if (!event) {\n return null;\n }\n\n const e = event as Record<string, unknown>;\n const data = e.data as Record<string, unknown> | undefined;\n\n if (isOutputTextOrContentPartDone(e, data)) {\n return null;\n }\n\n const outputTextDelta = getDeltaForEventTypes(e, data, ['response.output_text.delta']);\n if (outputTextDelta !== null) return outputTextDelta;\n\n const contentPartDelta = getDeltaForEventTypes(e, data, ['response.content_part.delta']);\n if (contentPartDelta !== null) return contentPartDelta;\n\n const refusalDelta = getDeltaForEventTypes(e, data, ['response.refusal.delta']);\n if (refusalDelta !== null) return refusalDelta;\n\n if (typeof data?.text === 'string') {\n return data.text;\n }\n if (typeof e.text === 'string') {\n return e.text;\n }\n\n // Legacy: event.event === 'content' && event.data.content\n if (e.event === 'content' && (e.data as {content?: string} | undefined)?.content) {\n return (e.data as {content: string}).content;\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"getTextDeltaFromStreamEvent.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/getTextDeltaFromStreamEvent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,qBAAqB,EAAC,4BAAyB;AACvD,OAAO,EAAC,2BAA2B,EAAC,yCAAsC;AAE1E,6EAA6E;AAE7E,MAAM,UAAU,2BAA2B,CACvC,KAA+C;;IAE/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,IAA2C,CAAC;IAE3D,IAAI,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,eAAe,GAAG,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvF,IAAI,eAAe,KAAK,IAAI;QAAE,OAAO,eAAe,CAAC;IAErD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACzF,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC;IAEvD,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAChF,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAE/C,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,KAAI,MAAC,CAAC,CAAC,IAAuC,0CAAE,OAAO,CAAA,EAAE,CAAC;QAC/E,OAAQ,CAAC,CAAC,IAA0B,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["import {OpenAIStreamEventLike} from '../types';\n\nimport {getDeltaForEventTypes} from './eventTypeUtils';\nimport {isTerminalTextLikeDoneEvent} from './isTerminalTextLikeDoneEvent';\n\n/** Text delta from event; *.done ignored to avoid duplicate accumulation. */\n\nexport function getTextDeltaFromStreamEvent(\n event: OpenAIStreamEventLike | null | undefined,\n): string | null {\n if (!event) {\n return null;\n }\n\n const e = event as Record<string, unknown>;\n const data = e.data as Record<string, unknown> | undefined;\n\n if (isTerminalTextLikeDoneEvent(e, data)) {\n return null;\n }\n\n const outputTextDelta = getDeltaForEventTypes(e, data, ['response.output_text.delta']);\n if (outputTextDelta !== null) return outputTextDelta;\n\n const contentPartDelta = getDeltaForEventTypes(e, data, ['response.content_part.delta']);\n if (contentPartDelta !== null) return contentPartDelta;\n\n const refusalDelta = getDeltaForEventTypes(e, data, ['response.refusal.delta']);\n if (refusalDelta !== null) return refusalDelta;\n\n if (typeof data?.text === 'string') {\n return data.text;\n }\n if (typeof e.text === 'string') {\n return e.text;\n }\n\n // Legacy: event.event === 'content' && event.data.content\n if (e.event === 'content' && (e.data as {content?: string} | undefined)?.content) {\n return (e.data as {content: string}).content;\n }\n\n return null;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ /** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */
2
+ export declare function isTerminalTextLikeDoneEvent(e: Record<string, unknown>, data: Record<string, unknown> | undefined): boolean;
@@ -0,0 +1,13 @@
1
+ import { isEventOneOf } from "./eventTypeUtils.js";
2
+ const TERMINAL_TEXT_LIKE_DONE_EVENT_TYPES = [
3
+ 'response.output_text.done',
4
+ 'response.content_part.done',
5
+ 'response.refusal.done',
6
+ 'response.reasoning_text.done',
7
+ 'response.reasoning_summary_text.done',
8
+ ];
9
+ /** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */
10
+ export function isTerminalTextLikeDoneEvent(e, data) {
11
+ return isEventOneOf(e, data, TERMINAL_TEXT_LIKE_DONE_EVENT_TYPES);
12
+ }
13
+ //# sourceMappingURL=isTerminalTextLikeDoneEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTerminalTextLikeDoneEvent.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/isTerminalTextLikeDoneEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,MAAM,mCAAmC,GAAG;IACxC,2BAA2B;IAC3B,4BAA4B;IAC5B,uBAAuB;IACvB,8BAA8B;IAC9B,sCAAsC;CACzC,CAAC;AAEF,wFAAwF;AAExF,MAAM,UAAU,2BAA2B,CACvC,CAA0B,EAC1B,IAAyC;IAEzC,OAAO,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import {isEventOneOf} from './eventTypeUtils';\n\nconst TERMINAL_TEXT_LIKE_DONE_EVENT_TYPES = [\n 'response.output_text.done',\n 'response.content_part.done',\n 'response.refusal.done',\n 'response.reasoning_text.done',\n 'response.reasoning_summary_text.done',\n];\n\n/** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */\n\nexport function isTerminalTextLikeDoneEvent(\n e: Record<string, unknown>,\n data: Record<string, unknown> | undefined,\n): boolean {\n return isEventOneOf(e, data, TERMINAL_TEXT_LIKE_DONE_EVENT_TYPES);\n}\n"]}
@@ -1 +1 @@
1
- {"version":"2.6.0","type":"module","sideEffects":["*.css","*.scss"]}
1
+ {"version":"2.6.1","type":"module","sideEffects":["*.css","*.scss"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/aikit",
3
- "version": "2.6.0",
3
+ "version": "2.6.1",
4
4
  "description": "Gravity UI base kit for building ai assistant chats",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -1,2 +0,0 @@
1
- /** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */
2
- export declare function isOutputTextOrContentPartDone(e: Record<string, unknown>, data: Record<string, unknown> | undefined): boolean;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOutputTextOrContentPartDone = isOutputTextOrContentPartDone;
4
- const eventTypeUtils_1 = require("./eventTypeUtils.js");
5
- const OUTPUT_TEXT_OR_CONTENT_PART_DONE_TYPES = [
6
- 'response.output_text.done',
7
- 'response.content_part.done',
8
- 'response.refusal.done',
9
- ];
10
- /** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */
11
- function isOutputTextOrContentPartDone(e, data) {
12
- return (0, eventTypeUtils_1.isEventOneOf)(e, data, OUTPUT_TEXT_OR_CONTENT_PART_DONE_TYPES);
13
- }
14
- //# sourceMappingURL=isOutputTextOrContentPartDone.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isOutputTextOrContentPartDone.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/isOutputTextOrContentPartDone.ts"],"names":[],"mappings":";;AAUA,sEAKC;AAfD,wDAA8C;AAE9C,MAAM,sCAAsC,GAAG;IAC3C,2BAA2B;IAC3B,4BAA4B;IAC5B,uBAAuB;CAC1B,CAAC;AAEF,wFAAwF;AAExF,SAAgB,6BAA6B,CACzC,CAA0B,EAC1B,IAAyC;IAEzC,OAAO,IAAA,6BAAY,EAAC,CAAC,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;AACzE,CAAC","sourcesContent":["import {isEventOneOf} from './eventTypeUtils';\n\nconst OUTPUT_TEXT_OR_CONTENT_PART_DONE_TYPES = [\n 'response.output_text.done',\n 'response.content_part.done',\n 'response.refusal.done',\n];\n\n/** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */\n\nexport function isOutputTextOrContentPartDone(\n e: Record<string, unknown>,\n data: Record<string, unknown> | undefined,\n): boolean {\n return isEventOneOf(e, data, OUTPUT_TEXT_OR_CONTENT_PART_DONE_TYPES);\n}\n"]}
@@ -1,2 +0,0 @@
1
- /** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */
2
- export declare function isOutputTextOrContentPartDone(e: Record<string, unknown>, data: Record<string, unknown> | undefined): boolean;
@@ -1,11 +0,0 @@
1
- import { isEventOneOf } from "./eventTypeUtils.js";
2
- const OUTPUT_TEXT_OR_CONTENT_PART_DONE_TYPES = [
3
- 'response.output_text.done',
4
- 'response.content_part.done',
5
- 'response.refusal.done',
6
- ];
7
- /** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */
8
- export function isOutputTextOrContentPartDone(e, data) {
9
- return isEventOneOf(e, data, OUTPUT_TEXT_OR_CONTENT_PART_DONE_TYPES);
10
- }
11
- //# sourceMappingURL=isOutputTextOrContentPartDone.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isOutputTextOrContentPartDone.js","sourceRoot":"../../../../../src","sources":["adapters/openai/helpers/isOutputTextOrContentPartDone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,MAAM,sCAAsC,GAAG;IAC3C,2BAA2B;IAC3B,4BAA4B;IAC5B,uBAAuB;CAC1B,CAAC;AAEF,wFAAwF;AAExF,MAAM,UAAU,6BAA6B,CACzC,CAA0B,EAC1B,IAAyC;IAEzC,OAAO,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;AACzE,CAAC","sourcesContent":["import {isEventOneOf} from './eventTypeUtils';\n\nconst OUTPUT_TEXT_OR_CONTENT_PART_DONE_TYPES = [\n 'response.output_text.done',\n 'response.content_part.done',\n 'response.refusal.done',\n];\n\n/** *.done (full text) — don't return as delta to avoid duplicating accumulated text. */\n\nexport function isOutputTextOrContentPartDone(\n e: Record<string, unknown>,\n data: Record<string, unknown> | undefined,\n): boolean {\n return isEventOneOf(e, data, OUTPUT_TEXT_OR_CONTENT_PART_DONE_TYPES);\n}\n"]}