@assistant-ui/react 0.10.7 → 0.10.9

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 (66) hide show
  1. package/dist/api/ThreadRuntime.d.ts +8 -0
  2. package/dist/api/ThreadRuntime.d.ts.map +1 -1
  3. package/dist/api/ThreadRuntime.js +1 -0
  4. package/dist/api/ThreadRuntime.js.map +1 -1
  5. package/dist/cloud/AssistantCloudThreadMessages.d.ts +1 -1
  6. package/dist/cloud/AssistantCloudThreadMessages.d.ts.map +1 -1
  7. package/dist/cloud/AssistantCloudThreadMessages.js.map +1 -1
  8. package/dist/cloud/auiV0.d.ts +2 -1
  9. package/dist/cloud/auiV0.d.ts.map +1 -1
  10. package/dist/cloud/auiV0.js.map +1 -1
  11. package/dist/model-context/tool.d.ts.map +1 -1
  12. package/dist/model-context/tool.js.map +1 -1
  13. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  14. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -0
  15. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  16. package/dist/runtimes/core/BaseThreadRuntimeCore.js +10 -0
  17. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  18. package/dist/runtimes/core/ThreadRuntimeCore.d.ts +2 -0
  19. package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
  20. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +2 -1
  21. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  22. package/dist/runtimes/external-store/ThreadMessageLike.js +1 -0
  23. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  24. package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
  25. package/dist/runtimes/external-store/external-message-converter.js +3 -0
  26. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  27. package/dist/runtimes/local/ChatModelAdapter.d.ts +2 -1
  28. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
  29. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  30. package/dist/runtimes/local/LocalThreadRuntimeCore.js +2 -0
  31. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  32. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
  33. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +1 -0
  34. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
  35. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +2 -0
  36. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  37. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +2 -0
  38. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  39. package/dist/tests/setup.js +8 -8
  40. package/dist/tests/setup.js.map +1 -1
  41. package/dist/types/AssistantTypes.d.ts +3 -1
  42. package/dist/types/AssistantTypes.d.ts.map +1 -1
  43. package/dist/utils/json/is-json.d.ts +1 -1
  44. package/dist/utils/json/is-json.d.ts.map +1 -1
  45. package/dist/utils/json/is-json.js.map +1 -1
  46. package/package.json +2 -2
  47. package/src/api/ThreadRuntime.ts +9 -0
  48. package/src/cloud/AssistantCloudThreadMessages.tsx +1 -1
  49. package/src/cloud/auiV0.ts +2 -4
  50. package/src/model-context/tool.ts +2 -0
  51. package/src/primitives/composer/ComposerAddAttachment.tsx +4 -4
  52. package/src/runtimes/core/BaseThreadRuntimeCore.tsx +12 -0
  53. package/src/runtimes/core/ThreadRuntimeCore.tsx +2 -0
  54. package/src/runtimes/external-store/ThreadMessageLike.tsx +3 -4
  55. package/src/runtimes/external-store/external-message-converter.tsx +4 -0
  56. package/src/runtimes/local/ChatModelAdapter.tsx +2 -1
  57. package/src/runtimes/local/LocalThreadRuntimeCore.tsx +4 -0
  58. package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +2 -0
  59. package/src/tests/MessageRepository.test.ts +1 -0
  60. package/src/types/AssistantTypes.ts +3 -4
  61. package/src/utils/json/is-json.ts +1 -1
  62. package/dist/utils/json/json-value.d.ts +0 -6
  63. package/dist/utils/json/json-value.d.ts.map +0 -1
  64. package/dist/utils/json/json-value.js +0 -1
  65. package/dist/utils/json/json-value.js.map +0 -1
  66. package/src/utils/json/json-value.ts +0 -13
@@ -1,5 +1,5 @@
1
1
  import { CompleteAttachment } from "./AttachmentTypes";
2
- import { ReadonlyJSONObject, ReadonlyJSONValue } from "../utils/json/json-value";
2
+ import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
3
3
  export type MessageRole = ThreadMessage["role"];
4
4
  export type TextContentPart = {
5
5
  readonly type: "text";
@@ -101,6 +101,7 @@ export type ThreadAssistantMessage = MessageCommonProps & {
101
101
  readonly content: readonly ThreadAssistantContentPart[];
102
102
  readonly status: MessageStatus;
103
103
  readonly metadata: {
104
+ readonly unstable_state: ReadonlyJSONValue;
104
105
  readonly unstable_annotations: readonly ReadonlyJSONValue[];
105
106
  readonly unstable_data: readonly ReadonlyJSONValue[];
106
107
  readonly steps: readonly ThreadStep[];
@@ -120,6 +121,7 @@ export type AppendMessage = Omit<ThreadMessage, "id"> & {
120
121
  type BaseThreadMessage = {
121
122
  readonly status?: ThreadAssistantMessage["status"];
122
123
  readonly metadata: {
124
+ readonly unstable_state?: ReadonlyJSONValue;
123
125
  readonly unstable_annotations?: readonly ReadonlyJSONValue[];
124
126
  readonly unstable_data?: readonly ReadonlyJSONValue[];
125
127
  readonly steps?: readonly ThreadStep[];
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantTypes.d.ts","sourceRoot":"","sources":["../../src/types/AssistantTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAC7B,KAAK,GAAG,kBAAkB,EAC1B,OAAO,GAAG,OAAO,IACf;IACF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,yBAAyB,CAAC;AAE9B,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,oBAAoB,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,CAAC;AAEpB,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EACX;QACE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACnC,GACD,SAAS,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EACX,WAAW,GACX,QAAQ,GACR,gBAAgB,GAChB,OAAO,GACP,OAAO,CAAC;IACZ,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,yBAAyB,GACjC;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B,GACD,iBAAiB,CAAC;AAEtB,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EACX,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,gBAAgB,GAChB,OAAO,GACP,OAAO,CAAC;IACZ,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG;IACrD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACxD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,oBAAoB,EAAE,SAAS,iBAAiB,EAAE,CAAC;QAC5D,QAAQ,CAAC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACrD,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;QACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAEtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG;IACtD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;QAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;QACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,CAAC;IACF,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,CAAC,mBAAmB,GAAG,iBAAiB,GAAG,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"AssistantTypes.d.ts","sourceRoot":"","sources":["../../src/types/AssistantTypes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ReadonlyJSONArray, ReadonlyJSONObject, ReadonlyJSONValue } from "./json-value";
1
+ import { ReadonlyJSONArray, ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
2
2
  export declare function isJSONValue(value: unknown, currentDepth?: number): value is ReadonlyJSONValue;
3
3
  export declare function isJSONArray(value: unknown): value is ReadonlyJSONArray;
4
4
  export declare function isJSONObject(value: unknown): value is ReadonlyJSONObject;
@@ -1 +1 @@
1
- {"version":3,"file":"is-json.d.ts","sourceRoot":"","sources":["../../../src/utils/json/is-json.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAEtB,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,YAAY,GAAE,MAAU,GACvB,KAAK,IAAI,iBAAiB,CA+B5B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAEtE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAQxE"}
1
+ {"version":3,"file":"is-json.d.ts","sourceRoot":"","sources":["../../../src/utils/json/is-json.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,YAAY,GAAE,MAAU,GACvB,KAAK,IAAI,iBAAiB,CA+B5B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAEtE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAQxE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/json/is-json.ts"],"sourcesContent":["import {\n ReadonlyJSONArray,\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"./json-value\";\n\nexport function isJSONValue(\n value: unknown,\n currentDepth: number = 0,\n): value is ReadonlyJSONValue {\n // Protect against too deep recursion\n if (currentDepth > 100) {\n return false;\n }\n\n if (\n value === null ||\n typeof value === \"string\" ||\n typeof value === \"boolean\"\n ) {\n return true;\n }\n\n // Handle special number cases\n if (typeof value === \"number\") {\n return !Number.isNaN(value) && Number.isFinite(value);\n }\n\n if (Array.isArray(value)) {\n return value.every((item) => isJSONValue(item, currentDepth + 1));\n }\n\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) =>\n typeof key === \"string\" && isJSONValue(val, currentDepth + 1),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is ReadonlyJSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is ReadonlyJSONObject {\n return (\n value != null &&\n typeof value === \"object\" &&\n Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && isJSONValue(val),\n )\n );\n}\n"],"mappings":";AAMO,SAAS,YACd,OACA,eAAuB,GACK;AAE5B,MAAI,eAAe,KAAK;AACtB,WAAO;AAAA,EACT;AAEA,MACE,UAAU,QACV,OAAO,UAAU,YACjB,OAAO,UAAU,WACjB;AACA,WAAO;AAAA,EACT;AAGA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,CAAC,OAAO,MAAM,KAAK,KAAK,OAAO,SAAS,KAAK;AAAA,EACtD;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,MAAM,CAAC,SAAS,YAAY,MAAM,eAAe,CAAC,CAAC;AAAA,EAClE;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,OAAO,QAAQ,KAAK,EAAE;AAAA,MAC3B,CAAC,CAAC,KAAK,GAAG,MACR,OAAO,QAAQ,YAAY,YAAY,KAAK,eAAe,CAAC;AAAA,IAChE;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,YAAY,OAA4C;AACtE,SAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,WAAW;AACxD;AAEO,SAAS,aAAa,OAA6C;AACxE,SACE,SAAS,QACT,OAAO,UAAU,YACjB,OAAO,QAAQ,KAAK,EAAE;AAAA,IACpB,CAAC,CAAC,KAAK,GAAG,MAAM,OAAO,QAAQ,YAAY,YAAY,GAAG;AAAA,EAC5D;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/json/is-json.ts"],"sourcesContent":["import {\n ReadonlyJSONArray,\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"assistant-stream/utils\";\n\nexport function isJSONValue(\n value: unknown,\n currentDepth: number = 0,\n): value is ReadonlyJSONValue {\n // Protect against too deep recursion\n if (currentDepth > 100) {\n return false;\n }\n\n if (\n value === null ||\n typeof value === \"string\" ||\n typeof value === \"boolean\"\n ) {\n return true;\n }\n\n // Handle special number cases\n if (typeof value === \"number\") {\n return !Number.isNaN(value) && Number.isFinite(value);\n }\n\n if (Array.isArray(value)) {\n return value.every((item) => isJSONValue(item, currentDepth + 1));\n }\n\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) =>\n typeof key === \"string\" && isJSONValue(val, currentDepth + 1),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is ReadonlyJSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is ReadonlyJSONObject {\n return (\n value != null &&\n typeof value === \"object\" &&\n Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && isJSONValue(val),\n )\n );\n}\n"],"mappings":";AAMO,SAAS,YACd,OACA,eAAuB,GACK;AAE5B,MAAI,eAAe,KAAK;AACtB,WAAO;AAAA,EACT;AAEA,MACE,UAAU,QACV,OAAO,UAAU,YACjB,OAAO,UAAU,WACjB;AACA,WAAO;AAAA,EACT;AAGA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,CAAC,OAAO,MAAM,KAAK,KAAK,OAAO,SAAS,KAAK;AAAA,EACtD;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,MAAM,CAAC,SAAS,YAAY,MAAM,eAAe,CAAC,CAAC;AAAA,EAClE;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,OAAO,QAAQ,KAAK,EAAE;AAAA,MAC3B,CAAC,CAAC,KAAK,GAAG,MACR,OAAO,QAAQ,YAAY,YAAY,KAAK,eAAe,CAAC;AAAA,IAChE;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,YAAY,OAA4C;AACtE,SAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,WAAW;AACxD;AAEO,SAAS,aAAa,OAA6C;AACxE,SACE,SAAS,QACT,OAAO,UAAU,YACjB,OAAO,QAAQ,KAAK,EAAE;AAAA,IACpB,CAAC,CAAC,KAAK,GAAG,MAAM,OAAO,QAAQ,YAAY,YAAY,GAAG;AAAA,EAC5D;AAEJ;","names":[]}
package/package.json CHANGED
@@ -28,7 +28,7 @@
28
28
  "conversational-ui",
29
29
  "conversational-ai"
30
30
  ],
31
- "version": "0.10.7",
31
+ "version": "0.10.9",
32
32
  "license": "MIT",
33
33
  "type": "module",
34
34
  "exports": {
@@ -57,7 +57,7 @@
57
57
  "@radix-ui/react-use-callback-ref": "^1.1.1",
58
58
  "@radix-ui/react-use-escape-keydown": "^1.1.1",
59
59
  "@standard-schema/spec": "^1.0.0",
60
- "assistant-stream": "^0.2.6",
60
+ "assistant-stream": "^0.2.7",
61
61
  "json-schema": "^0.4.0",
62
62
  "nanoid": "5.1.5",
63
63
  "react-textarea-autosize": "^8.5.9",
@@ -33,6 +33,7 @@ import { EventSubscriptionSubject } from "./subscribable/EventSubscriptionSubjec
33
33
  import { symbolInnerMessage } from "../runtimes/external-store/getExternalStoreMessage";
34
34
  import { ModelContext } from "../model-context";
35
35
  import { ChatModelRunOptions, ChatModelRunResult } from "../runtimes";
36
+ import { ReadonlyJSONValue } from "assistant-stream/utils";
36
37
 
37
38
  export type CreateStartRunConfig = {
38
39
  parentId: string | null;
@@ -150,6 +151,13 @@ export type ThreadState = {
150
151
  */
151
152
  readonly messages: readonly ThreadMessage[];
152
153
 
154
+ /**
155
+ * The thread state.
156
+ *
157
+ * @deprecated This feature is experimental
158
+ */
159
+ readonly state: ReadonlyJSONValue;
160
+
153
161
  /**
154
162
  * Follow up message suggestions to show the user.
155
163
  */
@@ -181,6 +189,7 @@ export const getThreadState = (
181
189
  ? false
182
190
  : lastMessage.status.type === "running",
183
191
  messages: runtime.messages,
192
+ state: runtime.state,
184
193
  suggestions: runtime.suggestions,
185
194
  extras: runtime.extras,
186
195
  speech: runtime.speech,
@@ -1,4 +1,4 @@
1
- import { ReadonlyJSONObject } from "../utils/json/json-value";
1
+ import { ReadonlyJSONObject } from "assistant-stream/utils";
2
2
  import { AssistantCloudAPI } from "./AssistantCloudAPI";
3
3
 
4
4
  export type CloudMessage = {
@@ -3,10 +3,7 @@ import { MessageStatus } from "../types/AssistantTypes";
3
3
  import { fromThreadMessageLike } from "../runtimes/external-store/ThreadMessageLike";
4
4
  import { CloudMessage } from "./AssistantCloudThreadMessages";
5
5
  import { isJSONValue } from "../utils/json/is-json";
6
- import {
7
- ReadonlyJSONObject,
8
- ReadonlyJSONValue,
9
- } from "../utils/json/json-value";
6
+ import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
10
7
  import { ExportedMessageRepositoryItem } from "../runtimes/utils/MessageRepository";
11
8
 
12
9
  type AuiV0MessageContentPart =
@@ -47,6 +44,7 @@ type AuiV0Message = {
47
44
  readonly status?: MessageStatus;
48
45
  readonly content: readonly AuiV0MessageContentPart[];
49
46
  readonly metadata: {
47
+ readonly unstable_state?: ReadonlyJSONValue;
50
48
  readonly unstable_annotations: readonly ReadonlyJSONValue[];
51
49
  readonly unstable_data: readonly ReadonlyJSONValue[];
52
50
  readonly steps: readonly {
@@ -1,5 +1,7 @@
1
1
  import { Tool } from "assistant-stream";
2
2
 
3
+ // TODO re-add the inferrence of the parameters
4
+
3
5
  export function tool<TArgs extends Record<string, unknown>, TResult = any>(
4
6
  tool: Tool<TArgs, TResult>,
5
7
  ): Tool<TArgs, TResult> {
@@ -27,9 +27,9 @@ const useComposerAddAttachment = ({
27
27
  if (attachmentAccept !== "*") {
28
28
  input.accept = attachmentAccept;
29
29
  }
30
-
30
+
31
31
  document.body.appendChild(input);
32
-
32
+
33
33
  input.onchange = (e) => {
34
34
  const fileList = (e.target as HTMLInputElement).files;
35
35
  if (!fileList) return;
@@ -44,8 +44,8 @@ const useComposerAddAttachment = ({
44
44
  if (!input.files || input.files.length === 0) {
45
45
  document.body.removeChild(input);
46
46
  }
47
- }
48
-
47
+ };
48
+
49
49
  input.click();
50
50
  }, [composerRuntime, multiple]);
51
51
 
@@ -50,6 +50,18 @@ export abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {
50
50
  return this.repository.getMessages();
51
51
  }
52
52
 
53
+ public get state() {
54
+ let mostRecentAssistantMessage;
55
+ for (const message of this.messages) {
56
+ if (message.role === "assistant") {
57
+ mostRecentAssistantMessage = message;
58
+ break;
59
+ }
60
+ }
61
+
62
+ return mostRecentAssistantMessage?.metadata.unstable_state ?? null;
63
+ }
64
+
53
65
  public readonly composer = new DefaultThreadComposerRuntimeCore(this);
54
66
 
55
67
  constructor(private readonly _contextProvider: ModelContextProvider) {}
@@ -1,3 +1,4 @@
1
+ import { ReadonlyJSONValue } from "assistant-stream/utils";
1
2
  import { ModelContext } from "../../model-context";
2
3
  import { AppendMessage, ThreadMessage } from "../../types";
3
4
  import { RunConfig } from "../../types/AssistantTypes";
@@ -99,6 +100,7 @@ export type ThreadRuntimeCore = Readonly<{
99
100
  capabilities: Readonly<RuntimeCapabilities>;
100
101
  isDisabled: boolean;
101
102
  messages: readonly ThreadMessage[];
103
+ state: ReadonlyJSONValue;
102
104
  suggestions: readonly ThreadSuggestion[];
103
105
 
104
106
  // TODO deprecate for a more elegant solution
@@ -19,10 +19,7 @@ import {
19
19
  SourceContentPart,
20
20
  ThreadStep,
21
21
  } from "../../types/AssistantTypes";
22
- import {
23
- ReadonlyJSONObject,
24
- ReadonlyJSONValue,
25
- } from "../../utils/json/json-value";
22
+ import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
26
23
 
27
24
  export type ThreadMessageLike = {
28
25
  readonly role: "assistant" | "user" | "system";
@@ -52,6 +49,7 @@ export type ThreadMessageLike = {
52
49
  readonly attachments?: readonly CompleteAttachment[] | undefined;
53
50
  readonly metadata?:
54
51
  | {
52
+ readonly unstable_state?: ReadonlyJSONValue;
55
53
  readonly unstable_annotations?:
56
54
  | readonly ReadonlyJSONValue[]
57
55
  | undefined;
@@ -136,6 +134,7 @@ export const fromThreadMessageLike = (
136
134
  .filter((c) => !!c),
137
135
  status: status ?? fallbackStatus,
138
136
  metadata: {
137
+ unstable_state: metadata?.unstable_state ?? null,
139
138
  unstable_annotations: metadata?.unstable_annotations ?? [],
140
139
  unstable_data: metadata?.unstable_data ?? [],
141
140
  custom: metadata?.custom ?? {},
@@ -113,6 +113,10 @@ const joinExternalMessages = (
113
113
 
114
114
  if (output.metadata) {
115
115
  assistantMessage.metadata ??= {};
116
+ if (output.metadata.unstable_state) {
117
+ assistantMessage.metadata.unstable_state =
118
+ output.metadata.unstable_state;
119
+ }
116
120
  if (output.metadata.unstable_annotations) {
117
121
  assistantMessage.metadata.unstable_annotations = [
118
122
  ...(assistantMessage.metadata.unstable_annotations ?? []),
@@ -11,7 +11,7 @@ import type {
11
11
  ToolCallContentPart,
12
12
  } from "../../types/AssistantTypes";
13
13
  import type { ModelContext } from "../../model-context/ModelContextTypes";
14
- import { ReadonlyJSONValue } from "../../utils/json/json-value";
14
+ import { ReadonlyJSONValue } from "assistant-stream/utils";
15
15
 
16
16
  export type ChatModelRunUpdate = {
17
17
  readonly content: readonly ThreadAssistantContentPart[];
@@ -22,6 +22,7 @@ export type ChatModelRunResult = {
22
22
  readonly content?: readonly ThreadAssistantContentPart[] | undefined;
23
23
  readonly status?: MessageStatus | undefined;
24
24
  readonly metadata?: {
25
+ readonly unstable_state?: ReadonlyJSONValue;
25
26
  readonly unstable_annotations?: readonly ReadonlyJSONValue[] | undefined;
26
27
  readonly unstable_data?: readonly ReadonlyJSONValue[] | undefined;
27
28
  readonly steps?: readonly ThreadStep[] | undefined;
@@ -160,6 +160,7 @@ export class LocalThreadRuntimeCore
160
160
  status: { type: "running" },
161
161
  content: [],
162
162
  metadata: {
163
+ unstable_state: this.state,
163
164
  unstable_annotations: [],
164
165
  unstable_data: [],
165
166
  steps: [],
@@ -251,6 +252,9 @@ export class LocalThreadRuntimeCore
251
252
  ? {
252
253
  metadata: {
253
254
  ...message.metadata,
255
+ ...(m.metadata.unstable_state
256
+ ? { unstable_state: m.metadata.unstable_state }
257
+ : undefined),
254
258
  ...(annotations
255
259
  ? { unstable_annotations: annotations }
256
260
  : undefined),
@@ -144,6 +144,8 @@ export const EMPTY_THREAD_CORE: ThreadRuntimeCore = {
144
144
 
145
145
  messages: [],
146
146
 
147
+ state: null,
148
+
147
149
  suggestions: [],
148
150
 
149
151
  extras: undefined,
@@ -44,6 +44,7 @@ describe("MessageRepository", () => {
44
44
  content: [{ type: "text", text: "Test message" }],
45
45
  status: { type: "complete", reason: "stop" },
46
46
  metadata: {
47
+ unstable_state: null,
47
48
  unstable_annotations: [],
48
49
  unstable_data: [],
49
50
  steps: [],
@@ -1,8 +1,5 @@
1
1
  import { CompleteAttachment } from "./AttachmentTypes";
2
- import {
3
- ReadonlyJSONObject,
4
- ReadonlyJSONValue,
5
- } from "../utils/json/json-value";
2
+ import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
6
3
 
7
4
  export type MessageRole = ThreadMessage["role"];
8
5
 
@@ -156,6 +153,7 @@ export type ThreadAssistantMessage = MessageCommonProps & {
156
153
  readonly content: readonly ThreadAssistantContentPart[];
157
154
  readonly status: MessageStatus;
158
155
  readonly metadata: {
156
+ readonly unstable_state: ReadonlyJSONValue;
159
157
  readonly unstable_annotations: readonly ReadonlyJSONValue[];
160
158
  readonly unstable_data: readonly ReadonlyJSONValue[];
161
159
  readonly steps: readonly ThreadStep[];
@@ -180,6 +178,7 @@ export type AppendMessage = Omit<ThreadMessage, "id"> & {
180
178
  type BaseThreadMessage = {
181
179
  readonly status?: ThreadAssistantMessage["status"];
182
180
  readonly metadata: {
181
+ readonly unstable_state?: ReadonlyJSONValue;
183
182
  readonly unstable_annotations?: readonly ReadonlyJSONValue[];
184
183
  readonly unstable_data?: readonly ReadonlyJSONValue[];
185
184
  readonly steps?: readonly ThreadStep[];
@@ -2,7 +2,7 @@ import {
2
2
  ReadonlyJSONArray,
3
3
  ReadonlyJSONObject,
4
4
  ReadonlyJSONValue,
5
- } from "./json-value";
5
+ } from "assistant-stream/utils";
6
6
 
7
7
  export function isJSONValue(
8
8
  value: unknown,
@@ -1,6 +0,0 @@
1
- export type ReadonlyJSONValue = null | string | number | boolean | ReadonlyJSONObject | ReadonlyJSONArray;
2
- export type ReadonlyJSONObject = {
3
- readonly [key: string]: ReadonlyJSONValue;
4
- };
5
- export type ReadonlyJSONArray = readonly ReadonlyJSONValue[];
6
- //# sourceMappingURL=json-value.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-value.d.ts","sourceRoot":"","sources":["../../../src/utils/json/json-value.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=json-value.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,13 +0,0 @@
1
- export type ReadonlyJSONValue =
2
- | null
3
- | string
4
- | number
5
- | boolean
6
- | ReadonlyJSONObject
7
- | ReadonlyJSONArray;
8
-
9
- export type ReadonlyJSONObject = {
10
- readonly [key: string]: ReadonlyJSONValue;
11
- };
12
-
13
- export type ReadonlyJSONArray = readonly ReadonlyJSONValue[];